Cocos2d-x と pd-for-android その2

コチラの記事 で書いたことを引き続き調査してみたところ、やはり EasyNDK はCocos2d-x Ver.3 では使われていない模様。
まだ、未検証だけど、普通に JNI 的なことをしたほうが簡単っぽい。

というわけで、sendFloat("receiver", 1) すると音が出て、sendFloat("receiver", 0) すると音が止まる簡単な pd パッチを組んでテスツ。


やりたいことは、cocos2d-x でボタンを1個表示して、そのボタンが押されたら、Java 側の sendFloat する関数を呼び出して発音させるだけ。


とりあえず、ターミナルから cocos new ~ で新しいプロジェクトを作って、いつもの手順

で、ボタンを表示して、押されたときに一瞬拡大縮小して画像が切り替わるようなアニメーションを付けたりする。
CC_CALLBACK_2(アニメする関数, this); の「アニメする関数」に引数を渡すのはどうやるんじゃろで、1日悩む。
ネット検索して「お、これならイケるか」と思っても、大抵「deprecated」と言われるのね・・・。
あと、中国語サイトが引っかかりすぎ問題。

そして、本丸の AppActivity.java への pd-for-android の組み込み。
sendFloat する関数を作る前に、とりあえず、PdCore の初期化と、.pd ファイルの読み込みだけを試してみる。
まぁ、この辺は定型文に近いし・・・。

で、コンパイル。

java.io.FileNotFoundException: /data/data/<パッケージ名>/files/xxxxx.pd

うーん、.pd ファイルがないとか言われている模様。

良く分からないので、assets フォルダの中の res フォルダにも raw フォルダを作って、.pd ファイルをぶち込んでみたけど変化なし。

AppActivity.java の package 指定が org.cocos2dx.cpp になっているからかしらん。
なんとなく、/data/data/org.cocos2dx.cpp/ にいそうな気がするのよねん。

さて、どうやって調べよう。


[ 追記 ]
ぎょへー! 単なる .pd ファイル名のタイプミスだったー!!
コンパイルは通ったので、これから JNI を使って、sendFloat して音が出るかテスト。

スポンサーサイト

コメント

非公開コメント