【问题标题】:How to animate 2D characters using swift for a fighting game?如何使用 swift 为格斗游戏制作 2D 角色动画?
【发布时间】:2021-06-17 16:18:30
【问题描述】:

您好,我具备 swift 编程的基本知识,并且已经在商店中提供了一个简单的应用程序。 我有一个包含一些动画的新应用程序的想法。这将是一个非常简单的“格斗游戏”。我想为将逐帧绘制的 2D 字符设置动画。类似于旧的 2D 格斗游戏“街头霸王等”的东西。 我不知道从哪里开始。我需要使用哪些工具?我必须学习 SpriteKit 吗?还是有更好更简单的方法?你能指导我从哪里开始以及如何实现目标吗?我所需要的只是让角色做一些简单的动作。它不必像动画电影那样流畅,但它必须看起来像角色正在击中另一个角色。我会雇人帮我画图我只是想做编码谢谢你的回答。

【问题讨论】:

    标签: swift xcode animation


    【解决方案1】:

    如果不提供更多详细信息,这个问题确实没有正确答案。这一切都取决于您的应用程序应该做什么。如果它是一款游戏,那么学习 SpriteKit 是合理的,因为它可以为您提供一个良好的开端,并提供很多开箱即用的游戏相关机制,例如命中框、移动、角色、分数等。

    这还取决于您想要实现什么样的动画。例如,如果它只是屏幕上的一个静态角色,它移动一只手臂,也许你可以使用 UIKit 实现动画效果,只需旋转/移动代表手臂的视图。我只是给你一个例子。

    如果您只想创建某种可重复的动画,例如 .gif 图像,那么您可以循环一组图像/精灵/帧并创建动画幻觉。

    var imageView = UIImageView()
    let arrayOfImageNames = ["frame1.png", "frame2.png", "frame3.png"] //etc
    let imageFrames = arrayOfImageNames.compactMap{ UIImage(named: $0) } //get all the image frames as [UIImage]
    imageView.animationImages = imageFrames
    imageView.animationDuration = 2 //duration of animation in seconds
    imageView.startAnimating()
    

    就像我说的,这完全取决于您想要创建什么,您希望您的应用有多复杂,以及动画角色如何与其环境交互。

    【讨论】:

    • 感谢您的回答。我会具体说明我的意思。我想聘请插画师为我制作类似的表格,动作更少spriters-resource.com/fullview/60224 但我不需要角色在屏幕上移动。战斗只会作为对某些行动的反应而发生。例如,打斗将因文字游戏中的答案而发生。所以玩家会选择攻击,然后攻击就会发生。所以不需要在屏幕上移动角色,也不需要AI等。我只是不会做一些准备好的动作和反应。
    • 在那种情况下,我相信上面的图像循环代码(基本上是gif)就足够了。其他任何事情都将是矫枉过正。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多