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 つは で、それにファイルを埋め込みました。swfBitmappng
Playerクラス (スプライトでシンボルを使用するクラス) は、MouseEvent.CLICKプロジェクトを実行して Player 画像をクリックすると起動しますが、Enemyクラスは起動しません。
コンパイルの警告やエラーがないため、正確に何が問題なのかを理解するのに苦労しています。一方が aSpriteでもう一方が a であるBitmapためですか、それとも一方が a から準備されたシンボルを使用しswf、もう一方が単に a であるためpngですか?
Bitmapクラスを に応答させるにはどうすればよいMouseEventですか?
助けてくれてありがとう!