美文网首页
iOS 游戏开发-SpriteKit入门

iOS 游戏开发-SpriteKit入门

作者: cheng1314 | 来源:发表于2017-07-19 17:30 被阅读0次

    因为业务需要,同时也是为了提高自身的代码水平,写这篇文章希望各位大牛多多指点.

    本文参考了

    https://onevcat.com/2013/06/sprite-kit-start/SpriteKit王巍 的技术博客 尽管有点年代了,但是经典之作还是很好的.

    1,首先创建新项目,选择iOS->Game创建

    创建好之后会发现多了这四个文件,后来发现暂时用不到,果断将他们删除了,GameViewController
    就相当于普通项目的ViewController

    项目框架

    2,创建基于SKScene的GameScreen

    GameScreen用到的属性

    在它的初始化方法中添加背景音乐,为甚不先加精灵元素(SKSpriteNode)呢,因为本人被这个背景音乐搞得头大,一直crash.抱着对技术负责的心态,去搜索相关的东西,无论是AVAudioPlayer还是AVPlayer都播放改背景音乐有问题,这时候有点怀疑是不是音乐的问题,果断去百度下载音乐,无奈都是各种坑,版权无法下载,最后还是在本机搜索到一个MP3格式的文件,放进去测试项目可以播放,然后放进游戏也是很流畅.可能是版本升级之后,改背景音乐不支持了吧(也可能改音乐文件中毒了),最后才加进去了背景音乐(添加在初始化方法中).

    播放本地音乐

    然后将玩家添加到screen中

    添加玩家

    添加怪物并且让它们从屏幕右侧跑出来,在屏幕左侧的时候从屏幕中移除,同时添加到数组中.值得一提的是为了让游戏不太死板,在设置移动速度的时候,通过随机数生成随机的速度.

    添加玩家

    玩家和怪物都添加完毕之后,是时候让他们互动起来了,这里我们在touchesBegan:
    方法中实现,通过获取当前点击的location,计算偏移量和移动距离添加子弹,在子弹出屏幕的时候移除掉.相比于静态的UIView,SKScreen中是一个动态监测,它的-(void)update:(CFTimeInterval)currentTime方法可以为我们提供实时的精灵对象位置信息,通过遍历怪物和子弹的位置关系,判断是否打中怪物,同时做相应的移除处理,并且计算得分.然后通过得分情况展示对应的展示结果的Screen.

    3,总结:这是本人首次写技术相关的文章,文章较短,内容较少,希望大家多多指点.

    相关文章

      网友评论

          本文标题:iOS 游戏开发-SpriteKit入门

          本文链接:https://www.haomeiwen.com/subject/eozlkxtx.html