シンプルな as2 シューターを作ろうとしていますが、敵を撃とうとすると、弾丸が通り抜けて敵を取り除けません。入れようとした
if (hitTest(_root.vihollinen)==true
){
_root.vihollinen.remove();
this.removeMovieClip();
}
が何も起こらない コーディングについてあまり知らないので、ほとんどのコードはコピペだけですが、学ぼうとしています!
https://www.dropbox.com/s/58u34tbeve6oile/game.zip
1 に答える
0
最も重要な問題は、敵がコードを理解するためにインスタンス名を必要とすることです。敵のムービークリップをクリックして、上部のフィールドに追加vihollinen
するだけです。Instance Name
次に、箇条書きのコードは近いですが、いくつかの調整が必要です。コードは次のとおりです。
_root["bullet" + bulletsFired].onEnterFrame = function(){
this._x += this.xmov;
this._y += this.ymov;
if (hitTest(_root.vihollinen)==true){
_root.vihollinen.remove();
this.removeMovieClip();
}
};
onEnterFrame
関数でそのようなハンドラーを使用したことがある場合は、次のように、常に現在のオブジェクトを で参照することをお勧めします。this
if(this.hitTest(_root.vihollinen) == true){
remove()
ActionScript2 関数ではありません。unloadMovie()
代わりに、次のように使用してみてください。_root.vihollinen.unloadMovie()
これら 3 つのことを変更すると、コードが機能するようになります。コードの各部分を確認し、できる限り理解するようにしてください。各部分が存在する理由を理解するのに長い時間がかかる場合でも、長期的には物事がはるかに簡単になります。 !
于 2013-10-04T14:46:18.933 に答える