2013-08-05 1 views
0

그냥 몇 가지 조언을 찾고 스프라이트를 회전 /은 다음 구현하는 방법에 대한 도움 하나. 웨이 포인트의 속성에서 다음 스프라이트의 각도를 설정했지만 원활하게 돌아갈 필요가 있습니다. 내 스프라이트는 매 22.5도에서 360도까지 렌더링되고 일부 경로는 90도에서 회전합니다. 따라서 스프라이트는 45도에서 시퀀스를 재생할 수 있으며 재생할 다음 시퀀스가 ​​135도 스프라이트가 될 수있는 웨이 포인트에 도달합니다. 그럼 어떻게하면 45에서 135로 뛰어 오르기보다는 멋지고 부드럽게 돌아갈 수 있을까요?이 CoronaSDK 원활

답변

1

개체의 회전을 직접 설정하는 대신 대상 회전을 설정 한 다음이를 향해 삽입 해보십시오. 는 enterFrame 기능에서 이제

--Sprite is currently rotated 45 degrees, I now want it to change to 135 degrees 
mySprite.targetRotation = 135 

(이미이없는 경우, 당신은 하나를 추가해야합니다) :

local function Update(event) 

local turnSpeed = 0.5 
mySprite.rotation = mySprite.rotation + turnSpeed * (mySprite.targetRotation - mySprite.rotation) 

end 

turnSpeed ​​변수는해야한다 예를 들어

얼마나 빨리 돌려야하는지에 따라 0.0001에서 1 사이입니다 (0.0001은 매우 느리게 변하고, 1은 순식간입니다).

아마도이 스프라이트 중 둘 이상을 갖고 있다면 테이블에 넣고이 계산을 해당 테이블의 모든 개체에 적용해야합니다.

관련 문제