Home > Flash | WEB > 円をただ囲まれた壁の中で動かす

円をただ囲まれた壁の中で動かす

1/24のライブ以降、仕事がほんと忙しく・・・
何もできていません。

次回ライブは3/20です。
ライブ興味のある方はこちらもどうぞ。
(http://chocolataste-planner.jp)

さて、最近、これからFlashを覚える仕事仲間ができまして、
ちょくちょく小物作り、習作で勉強してもらってます。

壁の中を円が動くのってどうやってつくります?といわれて、
作ったのがこれ。せっかくだからblogに乗せました。

↓ とりあえず楽するコードです。

ACTIONSCRIPT:
  1. package {
  2.     import flash.display.Sprite;
  3.     import flash.events.Event;
  4.  
  5.     public class RefrectionCircle extends Sprite
  6.     {
  7.         private var areaRect_up:Sprite;
  8.         private var areaRect_left:Sprite;
  9.         private var areaRect_right:Sprite;
  10.         private var areaRect_bottom:Sprite;
  11.        
  12.         private var add_x = 10;
  13.         private var add_y = 15;
  14.        
  15.         public function RefrectionCircle()
  16.         {
  17.             stage.scaleMode = "noScale";
  18.             stage.align = "TL";
  19.            
  20.             var areaRect_bg:Sprite = new Sprite;
  21.             areaRect_bg.graphics.beginFill(0xFFFFFF);
  22.             areaRect_bg.graphics.drawRect(0,0,400,400);
  23.             this.addChild(areaRect_bg);
  24.            
  25.             areaRect_up = new Sprite;
  26.             areaRect_up.graphics.lineStyle(2, 0x000000);
  27.             areaRect_up.graphics.lineTo(400,0);
  28.             this.addChild(areaRect_up);
  29.             areaRect_left = new Sprite;
  30.             areaRect_left.graphics.lineStyle(2,0x000000);
  31.             areaRect_left.graphics.lineTo(0,400);
  32.             this.addChild(areaRect_left);
  33.             areaRect_right = new Sprite;
  34.             areaRect_right.graphics.lineStyle(2,0x000000);
  35.             areaRect_right.graphics.moveTo(400,0);
  36.             areaRect_right.graphics.lineTo(400,400);
  37.             this.addChild(areaRect_right);
  38.             areaRect_bottom = new Sprite;
  39.             areaRect_bottom.graphics.lineStyle(2,0x000000);
  40.             areaRect_bottom.graphics.moveTo(0,400);
  41.             areaRect_bottom.graphics.lineTo(400,400);
  42.             this.addChild(areaRect_bottom);
  43.            
  44.             var circle:Sprite = new Sprite;
  45.             circle.graphics.beginFill(0xFFCCCC);
  46.             circle.graphics.lineStyle(2, 0xFF6666);
  47.             circle.graphics.drawCircle(90,90,50);
  48.             this.addChild(circle);
  49.             circle.addEventListener(Event.ENTER_FRAME, this.onEnterHandler);
  50.         }
  51.        
  52.         private function onEnterHandler(event:Event):void{
  53.             if(event.target.hitTestObject(areaRect_up)) this.add_y = -add_y;
  54.             else if(event.target.hitTestObject(areaRect_left)) this.add_x = -add_x;
  55.             else if(event.target.hitTestObject(areaRect_right)) this.add_x = -add_x;
  56.             else if(event.target.hitTestObject(areaRect_bottom)) this.add_y = -add_y;
  57.             event.target.x += add_x;
  58.             event.target.y += add_y;
  59.         }
  60.     }
  61. }

今後はHitTestとか使おうと思ったけどめんどいからやめました…。

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://parpue.net/web/424/trackback
Listed below are links to weblogs that reference
円をただ囲まれた壁の中で動かす from parpue.net

Home > Flash | WEB > 円をただ囲まれた壁の中で動かす

リンク
chocolataste-planner
millon

サーチ
Feeds
Meta
blog ranking ブログランキング・にほんブログ村へ
にほんブログ村 テクノラティのお気に入りに追加する

Return to page top