開発環境 |
Apache Flex SDK 4.12.1 |
|
FlashDevelop 4.6.2.5 |
実行環境 |
Microsoft Windows 8.1 (64bit) |
プロジェクトの種類 |
ActionScript 3/AS3 Project |
プロジェクト名 |
PointAtExample |
Main.as
package
{
import flash.display.Graphics;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.geom.Vector3D;
public class Main extends Sprite
{
private var circle:Sprite = new Sprite;
private var triangle:Sprite = new Sprite;
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
var g:Graphics;
g = circle.graphics;
g.beginFill(0xff0000);
g.drawCircle(0, 0, 30);
g.endFill();
circle.x = 100;
circle.y = 100;
circle.z = 0;
addChild(circle);
g = triangle.graphics;
g.beginFill(0x000000);
g.moveTo(0, 30);
g.lineTo(20, -30);
g.lineTo(-20, -30);
g.lineTo(0, 30);
g.endFill();
triangle.x = stage.stageWidth / 2;
triangle.y = stage.stageHeight / 2;
triangle.z = 0;
addChild(triangle);
circle.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
circle.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
triangle.addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
private function onMouseDown(e:MouseEvent):void
{
circle.startDrag();
}
private function onMouseUp(e:MouseEvent):void
{
circle.stopDrag();
circle.z = 0;
}
private function onEnterFrame(e:Event):void
{
triangle.transform.matrix3D.pointAt(circle.transform.matrix3D.position,
Vector3D.Y_AXIS, Vector3D.X_AXIS);
}
}
}
最終更新:2014年07月23日 17:15