2 - ブロックの幅を縮める
forked from 1 - ブロックの表示 (diff: 7)
(問題点:ブロックの幅がきっちりしすぎてくっついているように見える) * 解決:補正値、CW, CH変数を用意してサイズを片側2px縮める * * 問題点:色が全部同じ
ActionScript3 source code
/**
* Copyright samegame ( http://wonderfl.net/user/samegame )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/gzMa
*/
/**
* (問題点:ブロックの幅がきっちりしすぎてくっついているように見える)
* 解決:補正値、CW, CH変数を用意してサイズを片側2px縮める
*
* 問題点:色が全部同じ
*/
package
{
import flash.display.Sprite;
[SWF(backgroundColor = "0x0")]
public class Main extends Sprite
{
public function Main()
{
var panel:Panel = new Panel();
addChild(panel);
}
}
}
import flash.display.Sprite;
class Panel extends Sprite // ブロックはパネルに貼る
{
public static const WIDTH:int = 10; // ブロックの数 - 横
public static const HEIGHT:int = 10; // ブロックの数 - 縦
private var blocks:Array;
public function Panel()
{
createBlocks();
}
private function createBlocks():void
{
blocks = new Array(WIDTH);
for (var y:int = 0; y < HEIGHT; y++)
{
blocks[y] = new Array(HEIGHT);
for (var x:int = 0; x < WIDTH; x++)
{
var block:Block = new Block();
block.x = x * Block.WIDTH;
block.y = y * Block.HEIGHT;
addChild(block);
blocks[y][x] = block;
}
}
}
}
class Block extends Sprite
{
public static const WIDTH:int = 30; // ブロックの横幅
public static const HEIGHT:int = 30; // ブロックの縦幅
public static const CW:int = 2; // 補正幅 - ブロック同士がくっつかないように
public static const CH:int = 2; // 補正縦
public function Block()
{
graphics.beginFill(0xED1A3D);
graphics.drawRect(CW, CH, WIDTH - CW, HEIGHT - CH);
graphics.endFill();
}
}
