首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CoronaSDK旋转3d精灵

CoronaSDK旋转3d精灵
EN

Stack Overflow用户
提问于 2013-03-24 03:09:11
回答 1查看 1.3K关注 0票数 0

我正在制作一个塔防御游戏,我有一个精灵,这是一种3D的角度,它已经被渲染。我有一个问题,我想不出该怎么解决。

我需要平滑地旋转精灵来面对它正在射击的敌人。现在它得到了炮塔和敌人之间的角度,并设置了这个角度的精灵,所以如果角度是140度,我会播放140度的射击序列。这样做的问题是它会直接跳到那个角度,所以如果上一个炮塔发射的角度是270度,下一个敌人在120度,它就会直接跳到那个角度。

你知道我如何在塔开始发射之前,在最后一次播放的序列和下一个角度的序列之间每5度旋转一次炮塔吗?所以最后一次播放是270,我需要转到140,这样我就可以播放265,260,255帧……150,145,140

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-24 03:34:48

代码语言:javascript
运行
复制
current_angle = 270

-- when new target appears
local target_angle = 140
local delta = (target_angle - current_angle + 180) % 360 - 180
-- Now: -180 <= delta < 180
step = delta < 0 and -5 or 5
number_of_steps = delta / step
ready_to_fire = false

-- inside "draw" function
ready_to_fire = number_of_steps == 0
if not ready_to_fire then
   current_angle = (current_angle + step) % 360
   number_of_steps = number_of_steps - 1
   -- draw frame for "current_angle"
end
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15590929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档