forked from: flash on 2010-3-15

by figma000 forked from flash on 2010-3-15 (diff: 64)
迷路つくりの練習
♥0 | Line 48 | Modified 2012-05-24 13:33:22 | MIT License
play

ActionScript3 source code

/**
 * Copyright figma000 ( http://wonderfl.net/user/figma000 )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/pxYO
 */

// forked from hacker_kirifla's flash on 2010-3-15
package {
    /*
    衝突したときのイベントの練習
    */
    [SWF(width=1000, height=1000, backgroundColor=0x000000)]
    //import flash.display.Sprite;
    import flash.display.MovieClip;
    import com.actionsnippet.qbox.*;
    //import Box2D.Common.Math.*;
    import flash.events.Event;
    //mport flash.media.Video;
    import flash.text.TextField;
    
    public class FlashTest extends MovieClip {
            private var con:QuickContacts;
            private var boxA:QuickObject;
            private var boxB:QuickObject;
            private var boxC:QuickObject;
            private var cer:QuickObject;
            private var sim:QuickBox2D;
            public var text_field:TextField  = new TextField();
            
            
        public function FlashTest() {
            //write as3 code here..
            sim=new QuickBox2D(this);
            
            //sim.createStageWalls();
            //(x:y:ではそれぞれが登場する座標を指定。width:height:ではサイズ。Color:は色指定)
            boxA=sim.addBox({x:1.5,y:1.5,width:3,height:3,fillColor:0xff0000});
            boxB=sim.addBox({x:1,y:4.0,width:2,height:2,fillColor:0x00ff00});
            //sim.addJoint({a:boxA.body, b:boxB.body,
             //x1:1.5, y1:1.5, x2:2.5, y2:2.5,
             //length:5,
             //frequencyHzz:0,
             //collideConnected:true});//衝突判定の判断
             
             var pre:QuickObject = sim.addCircle({x:0, y:5, radius:.5,fillColor:0xff0000,density:0});
             
             boxA=sim.addGroup({objects:[boxA, boxB, pre], x:5, y:5, angle:0});
             boxC= sim.addJoint({type:"revolute", a:boxA.body, b:sim.w.GetGroundBody()});
             
             
                              // テキストフィールドオブジェクトを作成する
    
// 表示リストに登録する
stage.addChild(text_field);
text_field.border = true;    // 枠を表示する
text_field.x = 130;        // x 座標
text_field.y = 100;        // y 座標
text_field.width  = 200;    // 幅
text_field.height = 20;    // 高さ


            
            sim.start();
            sim.mouseDrag();
            

            
                    // キーボードイベントへの反応
        //private function onKeyPress(e:KeyboardEvent):void {
           // switch(e.keyCode) {
                //case Keyboard.LEFT: keysPressed |= LEFT_KEYMASK; break;
                //case Keyboard.UP: keysPressed |= UP_KEYMASK; break;
                //case Keyboard.RIGHT: keysPressed |= RIGHT_KEYMASK; break;
                //case Keyboard.DOWN: keysPressed |= DOWN_KEYMASK; break;
            //}
        //}
            
            //接触判定のためのQuickContactを作成
            //con=sim.addContactListener();
            //con.addEventListener(QuickContacts.ADD,onAdd);
            //con.addEventListener(QuickContacts.REMOVE,onRemove);
        
        }
        


       
        private function onRemove(e:Event):void{
            if(con.isCurrentContact(boxA,boxB)){
                boxA.userData.width=50;
                boxA.userData.height=50;
                boxB.userData.width=20;
                boxB.userData.height=20;
                }
            }
        private function onAdd(e:Event):void{
            if(con.isCurrentContact(boxA,boxB)){
                boxA.userData.width=10;
                boxA.userData.height=10;
                boxB.userData.width=10;
                boxB.userData.height=10;
                }
            }
    }
}