2017-02-10 15 views
-1

서로 겹쳐 쓰고 싶지 않습니다. 또한 객체를 무한대로 유지하고 싶습니다. 서로 맞았을 때 버튼이 움직이지 않아야합니다. hitTestObject를 시도했지만 버튼이 다음과 같이 움직입니다. . 물고기 2 * UPDATE서로 맞았을 때 움직이는 물체

var fish2x:Number=10; 
var fish2y:Number=14; 
  
stage.addEventListener(Event.ENTER_FRAME,h42); 
function h42(s:Event = null) { 
fish2.x+=fish2x; 
fish2.y+=fish2y; 
if ((fish2.x>=stage.stageWidth-fish2.width/2)|| (fish2.x <= fish2.width/2)) { 
    fish2x*=-1; 
} 
if ((fish2.y>=stage.stageHeight-fish2.height/2)|| (fish2.y <= fish2.height/2)) { 
    fish2y*=-1; 
} 

if (fish2.hitTestObject(fish3)){ 
fish2y *= -1; 
fish3y *= -1; 
h42(); 
} 
} 

에 대한

샘플 이동 코드는 또한 나는 2 개 이상의 물고기가 작동하지를 들어 diffrent 기능

stage.addEventListener(Event.ENTER_FRAME,crash); 
function crash(s:Event) { 
  
if (fish2.hitTestObject(fish || fish3)) { 

fish2y*=-1; 
message.text="crash"; 
} 
} 

에 노력했다. 이 코드를 사용하는 것보다 fish2와 fish3을 null로 설정했습니다.

if (fish2.hitTestObject(fish3 || fish4)){ 
fish2y *= -1; 
fish2x *= -1; 
h42(); 
} 

hittestoject가 모두 변경되었습니다.이 기능은 모두 변경되지만 작동하지 않습니다. 업데이트 2

는 이제 오류 없지만 fish3은 주니 제거 각각 "널 (null)"물고기와 물고기 3 단지 물고기에 사용되는 공격하지 않을 때 내가 생각하는 2

 if (fish2.hitTestObject(fish || fsih3)){ 
fish2y *= -1; 
fish2x *= -1; 
fishy*=-1; 
fishx*=-1; 
fish3y*=-1; 
fish3x*=-1; 
} 
} 
+0

"미친 듯이 이동"우리가 실제로 무슨 일이 일어나고 있는지 시각화 도움이되지 않습니다. –

+0

hittestobject가 그렇게 할 수 있는지 (x || b) 나는 모른다. 나는 당신이 hittestobject (x)를 할 필요가있을 것 같아요. || hittestobject (b) –

+0

Hittestobject work correct 서로 맞았을 때 메시지 텍스트를 볼 수 있습니다. "was |"사용했습니다. 저는 무대에서 7 개의 객체를 가지고 2 개의 물고기를 테스트했습니다. 물고기 2가 물고기 또는 물고기 3을 뒤집습니다. 방향. 내 문제는 서로 맞 혔을 때 반대 방향으로 객체를 이동시키는 방법입니다. – KucuKeko

답변

1

발생 둘 다 움직이기 때문입니다. A와 B 물고기 사이의 충돌을 점검 할 때 충돌이 사실이라면 * = - 1만큼 속도를 변경하지 마십시오. 대신 한 번 이동하십시오. 이 같은 기본 값으로

if (A.hitTestObject(B)){ 
    Ay *= -1; 
    Ax *= -1; 
    By *= -1; 
    Bx *= -1; 
    h42(); 
} 

및 추가 null는 :

function h42(s:Event = null) { 
+0

함수를 null로 변경하고 h42 함수를 코드에 추가합니다.하지만 다시 움직입니다. 무엇을 제안합니까? 감사합니다 – KucuKeko

+0

이제 붙어 있지 않지만 다른 위치로 점프합니다. 여기에 GIF가 있습니다 http://keko11.byethost24.com/bandituruk.gif – KucuKeko

+0

코드를 현재 그대로 원래 게시물에 붙여 넣을 수 있습니까? –