flash on 2012-3-29
♥0 |
Line 62 |
Modified 2012-03-30 14:06:44 |
MIT License
archived:2017-03-30 02:56:13
ActionScript3 source code
/**
* Copyright tepe ( http://wonderfl.net/user/tepe )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/xFpE
*/
package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class FlashTest extends Sprite {
private var s1:Sprite = new Sprite();
private var s2:Sprite = new Sprite();
private var s3:Sprite = new Sprite();
private var field:Sprite = new Sprite();
private var zoom:Number = 1.0;
private var posX:Number = 0;
private var posY:Number = 0;
private var tf:TextField = new TextField();
public function FlashTest() {
// write as3 code here..
addChild(field);
addChild(tf);
tf.text = "text";
s1.x = 100;
s1.y = 100;
s1.scaleX = s1.scaleY = 0.5;
s1.graphics.beginFill(0x0000ff);
s1.graphics.drawRect(-20,-20,40,40);
s1.graphics.endFill();
field.addChild(s1);
s2.x = 0;
s2.y = 0;
s2.scaleX = s2.scaleY = 0.2;
s2.graphics.beginFill(0x00ffff);
s2.graphics.drawRect(0,0,40,40);
s2.graphics.endFill();
s1.addChild(s2);
s3.x = 200;
s3.y = 200;
s3.scaleX = s3.scaleY = 1.25;
s3.graphics.beginFill(0xff00ff);
s3.graphics.drawRect(0,0,40,40);
s3.graphics.endFill();
field.addChild(s3);
tf.text = s1.x.toString() + " " + s1.width.toString();
addEventListener(Event.ENTER_FRAME,loop);
addEventListener(KeyboardEvent.KEY_DOWN,onKey);
}
private function loop(e:Event):void{
//field.scaleX = field.scaleY *= 1.001;
}
private function onKey(e:KeyboardEvent):void{
if(e.keyCode == 13){
//フィールド上のオブジェクト再配置
//オフセット値
var ox:Number = s1.x;
var oy:Number = s1.y;
var oScale:Number = s1.scaleX;
//フィールド位置をオブジェクトとのオフセット分移動
field.x += ox;
field.y += oy;
field.scaleX = field.scaleY *= oScale;
//同じ尺度で他のオブジェクトも再配置
s3.x -= ox;
s3.y -= oy;
s3.x /= oScale;
s3.y /= oScale;
s3.scaleX = s3.scaleY /= oScale;
//中心となるオブジェクト指定→オブジェクトをfieldのx:0,y:0,scale:1.0,rotate:0に配置
s1.x = 0; s1.y = 0; s1.scaleX = s1.scaleY = 1.0; s1.rotation = 0;
}
}
}
}