【问题标题】:Isometric scene - how?等距场景 - 如何?
【发布时间】:2020-04-04 13:14:50
【问题描述】:

我编写了一个简单的 2d 应用程序/游戏。我刚刚注意到,等距场景而不是 2d 场景看起来很漂亮。我没有使用任何 SpriteKit 等,它只是一个简单的单视图应用程序。

现在我画了一些很好的等距向量,例如一个加油站,我很想用它来代替普通的 2D 图像。当然,我可以将它们用作图像视图。但我的想法是,我可以以直线方式为驾驶汽车制作动画,使它们看起来是 3D(等距),但只是沿着给定路径移动的图像。做这个的最好方式是什么?我可以将我的等距图像用作游戏场景(从未使用过)吗?

您好!

【问题讨论】:

标签: ios swift xcode sprite-kit


【解决方案1】:

如果到目前为止您一直没有使用 SpriteKit,我认为现在没有必要使用它。将它们保留为 UIImageViews,并正常为其位置设置动画,只要确保将它们移动到的点是有意义的,以免破坏错觉。

您可以在“预览”中打开图像,沿其方向单击并拖动以沿该方向进行矩形选择,并使用该框的宽度和高度来制作比例,例如 20:25,然后简化为4:5。这意味着它沿 x 轴每移动 4 个点,它应该沿 y 轴移动 5 个点。然后将此比率作为 CGPoint 存储在代码中的某个位置,请注意,所有等距图像都应为您提供相同的比率。

然后,您可以使用该比率进行抽象,沿其方向移动 imageview x 点。假设您想将其沿其方向移动 100 点,并假设比率为 4:5。该比率是一个宽度为 4,高度为 5 的三角形。您使用 a^2=b^2+c^2 来计算斜边那个三角形的。然后找到一个 k 使得 ck=100。然后将 ab 乘以 k 得到您的 delta x 和 delta y。将这些增量应用到其当前位置,您就有了动画的最终位置,即沿其方向的 100 个点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-20
    • 1970-01-01
    • 2019-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多