クルクル
♥0 |
Line 63 |
Modified 2010-08-11 14:01:52 |
MIT License
archived:2017-03-20 09:22:01
ActionScript3 source code
/**
* Copyright mikelito33bdx ( http://wonderfl.net/user/mikelito33bdx )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/1Gxg
*/
package
{
import flash.display.Graphics;
import flash.display.Sprite;
import flash.events.Event;
import flash.text.TextField;
import flash.geom.*;
public class Main extends Sprite {
private var _sp:Sprite;
private var _w:Number = 100;
private var _h:Number = 100;
private var _gray:Sprite;
private var _black:Sprite;
public function Main():void {
_sp = new Sprite();
var g:Graphics = _sp.graphics;
g.beginFill(0xFF0000);
g.drawRect(0, 0, 0, 0);
g.endFill();
this.addChild(_sp);
_sp.x = stage.stageWidth/2;
_sp.y = stage.stageHeight / 2;
_sp.addEventListener(Event.ENTER_FRAME, doRotate);
creatRects();
}
private function creatRects():void {
_gray = new Sprite();
_sp.addChild(creatRect(_gray, 0xCCCCCC, _w / 2, -_h / 2, 180,"hoge" ));
_black = new Sprite();
_sp.addChild(creatRect(_black, 0, -_w / 2, -_h / 2, 0,"hoge"));
}
private function creatRect(mySp:Sprite, color:Number, myX:Number, myY:Number, rotaY:Number,myText:String):Sprite {
var mySp = new Sprite();
var myG:Graphics = mySp.graphics;
myG.beginFill(color);
myG.drawRect(0, 0, 100, 100);
myG.endFill();
mySp.rotationY = rotaY;
mySp.x = myX;
mySp.y = myY;
mySp.z = 0;
var myTF:TextField = new TextField();
myTF.text = myText;
myTF.textColor = 0xFFFFFF;
myTF.x = 50;
myTF.y = 50;
mySp.addChild(myTF);
return mySp;
}
private function doRotate(e:Event):void {
_sp.rotationY += 5;
changeOrder();
}
private function changeOrder():void {
var faceSp:Sprite;
faceSp = _sp.getChildAt(0) as Sprite;
var myVector3D:Vector3D = faceSp.transform.getRelativeMatrix3D(this).position;
if (myVector3D.x < stage.stageWidth/2) {
_sp.setChildIndex(faceSp, 1);
}
}
}
}