sample draw display
基本的にはsample text displayとやっていることは同じである
テキスト、図形関わらずサブクラスでも描画可能
いろいろ変えて描画したい場合はやはり引数指定は必要
sample text display = http://wonderfl.net/c/aWXL
/**
* Copyright asfgu ( http://wonderfl.net/user/asfgu )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/u7F6
*/
/*
基本的にはsample text displayとやっていることは同じである
テキスト、図形関わらずサブクラスでも描画可能
いろいろ変えて描画したい場合はやはり引数指定は必要
sample text display = http://wonderfl.net/c/aWXL
*/
package {
import flash.display.*;
[SWF(width="500", height="500", backgroundColor="0xffffff", frameRate="30")]
//サブクラスを読み込むコアクラス
public class Display extends Sprite {
public function Display() {
//変数の生成&引数があれば指定する
var x1:Calcshape = new Calcshape();
var x2:MoveShape = new MoveShape(100,100,0xFF0000);
var x3:SetShape = new SetShape(100,200,0x00FFFF);
var x4:SetShape = new SetShape(200,150,0xFF00FF);
x2.x = 250;//2番目のx位置
x3.y = 250;//3番目のx位置
x4.x = 250;//4番目のx位置
x4.y = 250;//4番目のx位置
//描画開始
stage.addChildAt(x1,0);
stage.addChild(x2);
stage.addChild(x3);
stage.addChild(x4);
/*
if(stage.contains(x1)){
var canvas:Sprite = new Sprite();
canvas.x = 100;
canvas.y = 100;
canvas.graphics.beginFill(0x0);
canvas.graphics.drawCircle(0, 0, 100);
canvas.graphics.endFill();
stage.addChild(canvas);
}
*/
}
}
}
//サブクラスでも必要に応じてimport
import flash.display.Sprite;
import flash.geom.Point;
//四角形描画用サブクラス
//引数なしの場合
class Calcshape extends Sprite{
function Calcshape(){
var scoreboard:Sprite = new Sprite();
addChild(scoreboard);//描画
scoreboard.graphics.beginFill(0x7A5B52);//色の塗りつぶし開始
scoreboard.graphics.drawRect(0, 0, 200, 200);
scoreboard.graphics.endFill();//色の塗りつぶし終わり
}
}
//引数を設定した場合
class SetShape extends Sprite{
function SetShape(x:int, y:int, color:uint){//自分で必要に応じて引数を決める
var scoreboard:Sprite = new Sprite();
scoreboard.graphics.beginFill(color);//引数指定の色
scoreboard.graphics.drawRect(0, 0, x,y);//引数指定の大きさ
scoreboard.graphics.endFill();
scoreboard.x = 50;
addChild(scoreboard);
}
}
import flash.events.*;
import flash.utils.*;
class MoveShape extends Sprite{
private var base:Sprite = new Sprite();
function MoveShape(x:int, y:int, color:uint){//自分で必要に応じて引数を決める
var scoreboard:Sprite = new Sprite();
var timer:Timer = new Timer(20);
base.x = 100;
base.y = 100;
scoreboard.graphics.beginFill(color);//引数指定の色
scoreboard.graphics.drawRect(-(x/2), -(y/2), x,y);//引数指定の大きさ
scoreboard.graphics.endFill();
addChild(base);
base.addChild(scoreboard);
timer.addEventListener(TimerEvent.TIMER,Moving);
timer.start();
}
private function Moving(evt:TimerEvent):void{
base.rotation += 2;
}
}