AS3 を学習しようとしていますが、小さな問題に遭遇しました。
リスナーを追加する Bitmap クラスがありMouseEvent.CLICK
ますが、イベントがディスパッチされていないようです。
Flashdevelop を使用して AS3 コードを記述し、Flex をコンパイルします。
私には2つのクラスがEnemy.as
あり、Player.as
は次のPlayer.as
ようになります。
package Player
{
import flash.display.Sprite;
import flash.events.MouseEvent;
[Embed(source="../../assets/leek.swf", symbol="Leek")]
public class Player extends Sprite
{
public function Player()
{
trace("Player constructed");
addEventListener(MouseEvent.CLICK, handleClick);
}
private function handleClick(e:MouseEvent):void
{
trace("Clicked Player");
}
}
}
は次のEnemy.as
ようになります。
package enemies
{
import flash.display.Bitmap;
import flash.events.MouseEvent
[Embed(source="../../assets/gardengnome.png")]
public class Enemy extends Bitmap
{
public function Enemy()
{
trace("enemy constructed");
addEventListener(MouseEvent.CLICK, handleClick);
}
private function handleClick(e:MouseEvent):void
{
trace("Clicked Enemy");
}
}
}
2 つのクラスはほとんど同じですが、1 つは で、チュートリアルから取得しSprite
たファイルからシンボルを埋め込みました。もう 1 つは で、それにファイルを埋め込みました。swf
Bitmap
png
Player
クラス (スプライトでシンボルを使用するクラス) は、MouseEvent.CLICK
プロジェクトを実行して Player 画像をクリックすると起動しますが、Enemy
クラスは起動しません。
コンパイルの警告やエラーがないため、正確に何が問題なのかを理解するのに苦労しています。一方が aSprite
でもう一方が a であるBitmap
ためですか、それとも一方が a から準備されたシンボルを使用しswf
、もう一方が単に a であるためpng
ですか?
Bitmap
クラスを に応答させるにはどうすればよいMouseEvent
ですか?
助けてくれてありがとう!