egret addEventListener処理関数追加パラメータ
1310 ワード
egretではaddEventListenerを使用します.パラメータを追加してbindを使用します.
addEventListener()で使用しているbind()はremoveveveventListener()が無効になる問題がありますので、一回クリックするだけであればOce()を使ってaddEventListener()の代わりにします.
ワンス()の使い方はaddEventListener()と同じで、違っています.ワンス()は一回だけ傍受して、一回で失効します.removevevevevent Listener()は必要ありません.
private mainFunction(){
let param1 = ' 1';
let param2 = ' 2';
let param3 = ' 3';
Btn.addEventListener(egret.TouchEvent.TOUCH_TAP, this.clickFunction.bind(this, param1, param2, param3 ,false), this);
}
private clickFunction(param1, param2, param3){
console.log(param1);
console.log(param2);
console.log(param3);
}
*bind(this,params,false)のthisは、パラメータを受け取る関数オブジェクトを指しますので、異なるクラス間で呼び出す場合は書き込みに注意してください. クラス名.get Instance()またはクラス名.uガメSchene(getInstance()とガメScheneは自分で定義した現在のオブジェクトのthisです.)addEventListener()で使用しているbind()はremoveveveventListener()が無効になる問題がありますので、一回クリックするだけであればOce()を使ってaddEventListener()の代わりにします.
ワンス()の使い方はaddEventListener()と同じで、違っています.ワンス()は一回だけ傍受して、一回で失効します.removevevevevent Listener()は必要ありません.
private mainFunction(){
let param1 = ' 1';
let param2 = ' 2';
let param3 = ' 3';
Btn.once(egret.TouchEvent.TOUCH_TAP, this.clickFunction.bind(this, param1, param2, param3 ,false), this);
}
private clickFunction(param1, param2, param3){
// , this.mainFunction();
//this.mainFunction();
console.log(param1);
console.log(param2);
console.log(param3);
}