forked from: flash on 2010-3-15
forked from flash on 2010-3-15 (diff: 64)
迷路つくりの練習
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;
}
}
}
}