2011-02-06 4 views
1

충돌 응답 방법으로 어려움을 겪고있는 I hav bee, actionscript 3에 오랫동안 글을 쓰고 있습니다.이 코드가 의미하는 바를 설명 할 수 있기를 바란다. 그것. 나는 그것을 처음부터 쓰지 않았다. 또한 충돌 감지 도구 키트를 사용하여 충돌이 발생한 위치를 찾습니다. 일을하려고
어떤 메신저는 볼이 (당신이 당신의 키보드로 화면을 이동 객체 인) 벽이기거나 벽이나 물체를 통과하지 않습니다 개체를 공격 있도록 할 것입니다.게임에 대한 AS3 콜리 전 응답

내 이해는 충돌이 일어나는 각도를 찾은 다음 인접한 각도를 새로운 벡터로 지정하고 겹치지 만 오브젝트를 뒤로 밀어 내야한다는 것을 의미합니다. 그러나 이 함수가 어떻게 작동하는지 이해하지 못합니다. 무엇입니까?

찾을 수 있습니까? 또한 나는 공을 가속시키고 싶지 않습니다. 속도가 객체에 도달 할 때까지 일정하기를 원합니다. 또한이 배열을 거꾸로 검색하는 것이 더 빠릅니까?

- 난 시도하고이를 도와, 나는 몇 가지 잘못된 철자가 있다면 죄송 메신저 할 수있는 시간이 걸립니다 하나를 주셔서 감사합니다.

 for(i = 0; i < collisions.length; i++) 
     { 
      var collision:Object = collisions[i]; 

      var angle:Number = collision.angle; 
      var overlap:int = collision.overlapping.length; 
      var ball:Ball = collision.object1; 

      var sin:Number = Math.sin(angle); 
      var cos:Number = Math.cos(angle); 

      var vx0:Number = ball.vx * cos + ball.vy * sin; 
      var vy0:Number = ball.vy * cos - ball.vx * sin; 

      vx0 = .4; 
      ball.vx = vx0 * cos - vy0 * sin; 
      ball.vy = vy0 * cos + vx0 * sin; 

      ball.vx -= cos * overlap/ball.radius; 
      ball.vy -= sin * overlap/ball.radius; 
     } 
+0

속도가 염려되는 경우 [역방향으로 반복] (http://stackoverflow.com/questions/1950878/c-for-loop-indexing-is-forward-indexing-faster-in-new-cpus/1951271) # 1951271)는 속도가 매우 빠르고 아마, 그리고 심지어는 소폭 느려질 수 있습니다 - 당신이 – Cameron

+0

더 귀하의 의견 주셔서 감사합니다 찾아 벤치 마크에 특정 상황을해야합니다. 나는 그것을 명심 할 것이다. –

답변

4

Keith Peters는 Foundation Actionscript 3.0 Animation: Making Things Move이라는 멋진 책을 가지고 있습니다.

9 장 문제가 발생한 주제를 다룹니다.

특히이 페이지는 도움이 될 것이다.

http://books.google.ca/books?id=nzyu5TytMEUC&lpg=PP1&dq=actionscript%203.0%20animation&pg=PA235#v=onepage&q&f=false

그는 집에서 구운, 삼각 충돌 테스트에 사용하지만, 자신의 거리가 충돌 탐지 키트에 내장 된 기능과 속성 검사를 대체 할 수 있어야한다.

+0

+1 위대한 책. 또한, 그 책의 속편에 관심을 가질 수있는 "고급 충돌 탐지"라는 챕터가있다 : http://www.amazon.ca/AdvancED-ActionScript-Animation-Keith-Peters/dp/1430216085/ref= sr_1_2? ie = UTF8 & qid = 1296963055 & sr = 8-2 – TheDarkIn1978

+0

나는 둘 다 최근에 얻었습니다. 키이스 피터스 (Keith Peters)는 불과 몇 달 전에 FITC 에드먼튼에서 초청 연사로 일한 경험이 있습니다. –

+0

대단히 감사합니다! 이 책은 내가 찾고 있던 책이다. 내 문제가 해결되었습니다. 빠른 응답 시간에도 감사드립니다. –