AS3でゲームを作成する その18 | Photoshop CC Tutorials
今回は画面をクリックすると爆弾が表示されるプログラムを作成しました。
今回作成したプログラムは前回のものと大幅に異なっています。

できあがりはこちらをクリック。

実行結果
$ピック社長のブログ

爆弾の画像です。
$ピック社長のブログ

画像を使用する場合はドット絵専門家のアルテミス職人の許可を取ってください。
アルテミス職人のサイト:http://ameblo.jp/yukineko-altemis/entry-11016380157.html

Main.as
package 
{
import flash.display.Sprite;
import flash.display.Graphics;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.text.TextField;
import flash.text.TextFormat;

/**
* 爆弾ゲーム
*/
public class Main extends Sprite
{
// 描画エリア
private var pArea:Sprite = new Sprite();
private var margin:int = 50; // 余白

// 爆弾配列
private var bombArr:Array = new Array();

// マップ
private var map:Map = new Map();

// テキストエリア
private var textField_01:TextField;

public function Main():void
{
init();

// テキストフォント
var textformat:TextFormat = new TextFormat();
textformat.size = 13;
textformat.font = "_sans";
textformat.bold = true;

// 説明を表示
textField_01 = new TextField();
textField_01.defaultTextFormat = textformat;
textField_01.textColor = 0x000000;
textField_01.border = false;
textField_01.x = 150;
textField_01.y = 10;
textField_01.width = 300;
textField_01.height = 50;
textField_01.text = "爆弾ゲーム" + "\n" + "(爆弾を置いてください。)";
this.addChild(textField_01);

// リスナー登録
//----------------------------------
this.addEventListener(Event.ENTER_FRAME, onEnterFrame);
// マウスの左ボタンが押されたときに呼び出されるイベント
pArea.addEventListener(MouseEvent.MOUSE_DOWN, MouseLDownFunc);
}

private function init():void
{
pArea.graphics.beginFill(0xffffff);
pArea.graphics.drawRect(0,0,400,300);
pArea.graphics.endFill();
pArea.focusRect = false;
// 描画エリアの位置
pArea.x = 0;
pArea.y = margin;
this.addChild(pArea);
}

private function onEnterFrame(e:Event):void
{
pArea.graphics.clear();
pArea.graphics.beginFill(0xffffff);
pArea.graphics.drawRect(0,0,400,300);
pArea.graphics.endFill();
//bomb.paint(this.pArea);
}

public function MouseLDownFunc(event:MouseEvent):void
{
// マウス座標を取得
var mx:int = mouseX / 32;
var my:int = (mouseY - margin) / 32;

// 爆弾の座標を求める
var bomb_x:int = (mx % 32) * 32;
var bomb_y:int = (my % 32) * 32;

// 爆弾インスタンスを爆弾配列に格納する
var bomb:Bomb = new Bomb();
bombArr.push(bomb);
bomb.bitmap.x = bomb_x;
bomb.bitmap.y = bomb_y;
pArea.addChild(bomb.bitmap);

// マップに爆弾情報を書き込む
}

private function bombController():void
{

}
}

}


Bomb.as
package  
{
import flash.display.Bitmap;
import flash.display.Sprite;
/**
* 爆弾クラス
*/
public class Bomb
{
// 画像
[Embed(source = 'bomb.png')]
private var Image_01:Class;

public var bitmap:Bitmap; // 爆弾のビットマップ

public function Bomb()
{
// 画像初期設定
bitmap = new Image_01;
}

}

}


Map.as
package  
{
/**
* マップクラス
*/
public class Map
{
public var mapArr:Array = [
[ 0, 0, 0, 0 ],
[ 0, 0, 0, 0 ],
[ 0, 0, 0, 0 ],
[ 0, 0, 0, 0 ]
];

public function Map()
{

}

}

}