package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.Sprite; import flash.geom.Point; import flash.media.Sound; import flash.net.URLRequest; /** * リンゴクラス */ public class Apple { // 画像 [Embed(source = 'ringo.png')] private var Image0:Class;
// 効果音 private var url:URLRequest = new URLRequest("ringo.mp3"); private var sound_obj:Sound = new Sound(url);
private var _x:Number = 0; private var _y:Number = 0;
private var imgArray:Array = new Array(16); // リンゴの画像を格納 private var imgNumber:int = 0;
public var eatNum:int = 0; // 食べたリンゴの数 public var eatenFlag:Boolean = false; // 食べ終わった時にtrueになる public var ringoInitFlag:Boolean = true; // 初期のリンゴ画像かどうか
public function Apple() { // 画像初期設定 var bitmap:Bitmap = new Image0; var srcbd:BitmapData = bitmap.bitmapData; var k:int = 0;
for (var i:int = 0; i < 6; i++ ) { for (var j:int = 0; j < 3; j++ ) { var destbd:BitmapData = new BitmapData(32, 32); destbd.copyPixels(srcbd, srcbd.rect, new Point(j * -32, i * -32)); imgArray[k] = new Bitmap(destbd); imgArray[k].scaleX = 2; imgArray[k].scaleY = 2; imgArray[k].x = 168; imgArray[k].y = 128; k++; if (k >= 16) break; } } }
public function move(_xx:Number, _yy:Number):void { _x += _xx; _y += _yy;
imgArray[0].x = _x; imgArray[0].y = _y; }
public function paint(p:Sprite):void { if (imgNumber != 0) p.removeChildAt(0); p.addChild(imgArray[imgNumber]); }
public function hit(_mouseX:int, _mouseY:int):void { imgNumber++; if (imgNumber >= 16) { // 終了 eatenFlag = true; ringoInitFlag = true; // 初期のリンゴ画像かどうか imgNumber = 0; }else { // 最後の画像 if (imgNumber == 15) { eatNum++; // リンゴ食べた数 }