横回転3Dキューブ igoooon forked:0favorite:0lines:73license : MIT License modified : 2010-12-09 18:39:39 Embed Tweet package { import flash.display.Sprite; import flash.events.Event; public class FlashTest extends Sprite { private var angle:Number = 0; private var centerX:Number = stage.stageWidth / 2; private var centerY:Number = stage.stageHeight / 2 - 50; private var radiusx:Number = 84; private var radiusy:Number = 40; private var speed:Number = .05; public function FlashTest() { addEventListener(Event.ENTER_FRAME, onEnterFrame); var linex1:Number; var liney1:Number; var linex2:Number; var liney2:Number; var linex3:Number; var liney3:Number; var linex4:Number; var liney4:Number; function onEnterFrame(event:Event):void { linex1 = centerX + Math.sin(angle) * radiusx; liney1 = centerY + Math.cos(angle) * radiusy; linex2 = centerX + Math.cos(angle) * radiusx; liney2 = centerY + Math.sin(angle) * radiusy * -1; linex3 = centerX + Math.sin(angle) * radiusx * -1; liney3 = centerY + Math.cos(angle) * radiusy * -1; linex4 = centerX + Math.cos(angle) * radiusx * -1; liney4 = centerY + Math.sin(angle) * radiusy; angle += speed; graphics.clear(); graphics.lineStyle (1, 0xffffff, 1.0); // 線のスタイル指定 graphics.beginFill (0x777777, 1.0); // 面のスタイル設定 graphics.moveTo (linex1, liney1); graphics.lineTo (linex2, liney2); graphics.lineTo (linex3, liney3); graphics.lineTo (linex4, liney4); if (linex1 <= linex2) { graphics.moveTo(linex1, liney1); graphics.lineTo (linex2, liney2); graphics.lineTo (linex2, liney2 + 100); graphics.lineTo (linex1, liney1 + 100); } if (linex2 <= linex3) { graphics.moveTo(linex2, liney2); graphics.lineTo (linex3, liney3); graphics.lineTo (linex3, liney3 + 100); graphics.lineTo (linex2, liney2 + 100); } if (linex3 <= linex4) { graphics.moveTo(linex3, liney3); graphics.lineTo (linex4, liney4); graphics.lineTo (linex4, liney4 + 100); graphics.lineTo (linex3, liney3 + 100); } if (linex4 <= linex1) { graphics.moveTo(linex4, liney4); graphics.lineTo (linex1, liney1); graphics.lineTo (linex1, liney1 + 100); graphics.lineTo (linex4, liney4 + 100); } } } } } Code Fullscreen Preview Fullscreen 3d cube Math.cos Math.sin addEventListener Event.ENTER_FRAME Event Sprite Number