学校の授業用に、easeljs ライブラリを使用して簡単なゲームを作成し、javascript を学習しています。私が作成したヒットテストを使用して、ターゲットを指しているときに小さなアニメーションを表示することで、十字線がプレーヤーにフィードバックを与えるようにしたいと考えています。
ただし、十字線がターゲットに触れると、アニメーション (十字線の中央を指す 2 つの小さな三角形) が最初のフレームで止まっているように見えます。
これが私のコードの一部です。これらの関数の両方をティッカー関数内に配置しました。関数は本来の機能を果たします (console.log にメッセージを送信して確認しました) が、変数「hitTestControle」が true に設定されるとすぐにアニメーションがリセットされると思います。すべてのコードを確認したい場合は、「ゲーム」へのリンクを次に示します: http://athena.fhict.nl/users/i279907/achtergrond/achtergrond.html
function hitTest() {
if(distance(crossHair, block) < 60) {
hitTestControle = true;
} else {
hitTestControle = false;
console.log(hitTestControle);
}
}
function hitTestControl() {
if(hitTestControle == true) {
crossHair.gotoAndPlay("move");
console.log("hit");
} else {
crossHair.gotoAndPlay("stop");
}
}
PS: 私が使用したこのヒットテストにも何か問題があるようです。
function distance() {
var difx = blok.x - crossHair.x;
var dify = blok.y - crossHair.y;
return Math.sqrt( (difx * difx) + (dify * dify) );
}