OnApplicationPause
スマホのホームボタンや別のタブを開いたりしたときに呼ばれる関数。
これと停止を組み合わせれば一時停止をさせることができる…はず。
void OnApplicationPause (bool stop){
//ホームボタンや別タブを開いたとき呼ばれる
if(stop){
停止させる処理かく
}
//再開時に呼ばれる
else{
再開処理かく
}
}
【参考】
OnApplicationPause
スマホのホームボタンや別のタブを開いたりしたときに呼ばれる関数。
これと停止を組み合わせれば一時停止をさせることができる…はず。
void OnApplicationPause (bool stop){
//ホームボタンや別タブを開いたとき呼ばれる
if(stop){
停止させる処理かく
}
//再開時に呼ばれる
else{
再開処理かく
}
}
【参考】
OnMouseDownやOnMouseOverなどを
使うときはオブジェクトにColliderがアタッチされていないと呼ばれない。
【参考】
【あわせて読むとお得】
AnimetorとSpriteRenderを分けてアニメ
・CreateでAnimatorControllerを作成
・AnimetorをAddComponetで追加し、作成したAnimatorControllerを設定
適当な画像をシーンにドロップ。
次に、こいつをok(1)の子オブジェクトにする
アニメ作成手順
上記画像①~③手順を繰り返してアニメを作成していく
親オブジェクトにSpriteRenderがなくてもアニメが再生ができるため、スクリプト
enumを外部から呼び出すことはできないか探していたらなんかできたので、メモ
//呼ばれる側 public class : Yobareru { public enum STATE{ATTACK,MOVE}; STATE statelist;
void Update () { switch (statelist) { case STATE.ATTACK: Attack (); break; case STATE.MOVE:
Move(); break; } } public void Set(STATE _state){ statelist = _state; } }
//---------------------------------- //呼び出し先 public class Yobu : MonoBehaviour { public GameObject obj; Yobareru yobareru; //--------------------------------- void Start () { yobareru = obj.GetComponent<Yobareru> (); }
void Update(){
yobaretu.Set(yobareru.ATTACK);
}
}
【参考】
列挙型(enum)を別classから参照する - arketブログ
[2016/8/13]
こんなのでも呼べました
public enum STATE{ATTACK,MOVE};
public class : Yobareru { public enum STATE{ATTACK,MOVE}; STATE statelist;
void Update () { switch (statelist) { case STATE.ATTACK: Attack (); break; case STATE.MOVE:
Move(); break; } } public void Set(STATE _state){ statelist = _state; } }
【使用例】
if(0 < inputtouchCount){
//タッチした瞬間の座標取得
if(Input.GetTouch(0).phase == TouchPhase.Began){
Debug.Log ("座標"+Input.touches[0].position);
}
//ドラック中の座標取得
if(Input.GetTouch(0).phase == TouchPhase.Moved){
Debug.Log ("座標"+Input.touches[0].position);
}
}
※if(0 < inputtouchCount)がないとエラーになるので注意
【タッチ状態】
Began : いまタッチされた
Moved : タッチ中で、動いている
Stationary : タッチ中で、静止している
Ended : 離された瞬間
Canceled : キャンセル
【注意】
if(0 < inputtouchCount)
この記述がないとエラーになります
【参考】
クラスを作成したらLOCAL_SRC_FILESに記述すること。
CocosStudioを使ってAndroid端末にビルドするとこのような表示がされる
jni/../../Classes/HelloWorldScene.cpp:104: error: undefined reference to 'Test::createScene0()'
collect2.exe: error: ld returned 1 exit status
Test.cppが定義されてないことが原因らしい。
Android.mkを開いてください。
場所:プロジェクトのフォルダ>proj.android>jni>Android.mk
見つけたらAndroid.mkをメモ帳かなんかで開いて、LOCAL_SRC_FILESに作成したクラスを書く。
LOCAL_SRC_FILES := hellocpp/main.cpp \
../../Classes/AppDelegate.cpp \
../../Classes/HelloWorldScene.cpp\
../../Classes/ここに作成したクラスを書く.cpp
例)記述するとこんな感じ
LOCAL_SRC_FILES := hellocpp/main.cpp \
../../Classes/AppDelegate.cpp \
../../Classes/HelloWorldScene.cpp\
../../Classes/Test.cpp ←作成したクラス
作業を終えたら次はCocosStudioでの操作になります。
LOCAL_SRC_FILESに書き加えたあとで、ビルドすると今度は無事にAndroid端末で実行できます。