如何完成2D等距抛射物(3D)旋转效果

时间:2013-01-18 07:12:46

标签: opengl 3d 2d isometric projectile

我正在制作等距2d游戏,其中一个方面是射击射弹的单位。如果射弹是圆形的,那就不坏了。只需将射弹定位在等距空间中即可。但是如果弹丸长得像导弹或箭头呢?

我想让它看起来好像是在旋转或者更确切地说是飞过3d空间而不一定是面向屏幕的。它并不需要完美,因为我不是在3d中这样做。我有一些我知道的选择。

A)我可以根据弧线或者更确切地说是射弹行进的矢量来缩放图像。我实际上不太确定这个算法的数学方法是如何工作的,看起来有多糟糕。

B)我可以在3D空间中旋转实际的精灵。这种方法很棘手,因为会有一些角度,其中精灵变得对相机不可见。这将是一种不希望的效果。

C)我可以为关键旋转渲染精灵并显示它们。使用这种方法,我不确定如何旋转精灵(通常)会影响外观。

有没有人知道解决这个问题的任何好例子或想法?什么是渲染这些精灵的最佳解决方案,以便射弹可以从等距平面上的任何点上的任何点或陆地发射。

1 个答案:

答案 0 :(得分:-2)

做一个

While (projctl.traveling==1) {
    SetCurrentAVec(0,projctl);
    While (sprite.animVec.hasNext)
        SpinProjctl(1);
    (projctl.hit | projctl.miss ? projctl.traveling=0 : continue;
}