2017-07-01 25 views
3

私はAS3でアニメーションアニメーションでゲームを作っています。 が左のバリアと衝突して通過しないときに私の四角形を止めたいです。私のボックスのインスタンス名は「ボックス」と呼ばれ、私の障壁は「左」と「右」と呼ばれています。Adob​​eのアニメーションの衝突

は、ここに私のステージの画像です:image of stage

そしてここで、これまでのボックスを移動するための私のコードです:

var upPressed:Boolean = false; 
var downPressed:Boolean = false; 
var leftPressed:Boolean = false; 
var rightPressed:Boolean = false; 

box.addEventListener(Event.ENTER_FRAME, fl_MoveInDirectionOfKey); 
stage.addEventListener(KeyboardEvent.KEY_DOWN, fl_SetKeyPressed); 
stage.addEventListener(KeyboardEvent.KEY_UP, fl_UnsetKeyPressed); 

function fl_MoveInDirectionOfKey(event:Event) 
{ 
    if (leftPressed) 
    { 
    box.x -= 5; 
    } 

    if (rightPressed) 
    { 
    box.x += 5; 
    } 
} 

function fl_SetKeyPressed(event:KeyboardEvent):void 
{ 
    switch (event.keyCode) 
    { 
    case Keyboard.LEFT: 
    { 
     leftPressed = true; 
     break; 
    } 
    case Keyboard.RIGHT: 
    { 
     rightPressed = true; 
     break; 
    } 
    } 
} 

function fl_UnsetKeyPressed(event:KeyboardEvent):void 
{ 
switch (event.keyCode) 
{ 
    case Keyboard.LEFT: 
    { 
     leftPressed = false; 
     break; 
    } 
    case Keyboard.RIGHT: 
    { 
     rightPressed = false; 
     break; 
    } 
    } 
} 

はとてもありがとうございました!あなたは

if (box.hitTestObject(left)) box.x = left.x + left.width; 
if (box.hitTestObject(right)) box.x = right.x - box.width; 

ようなものが必要

+0

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/DisplayObjectの最後に追加しました.html#hitTestObject() – Organis

答えて

1

fl_MoveInDirectionOfKey機能

関連する問題