• 用Swift语言和Sprite Kit复制微信飞机大战游戏


    先上GitHub链接:

    https://github.com/songrotek/PlaneWar.git



    接下来略微解说一下!

    这个程序还有点Bug,见谅!


    1 说明

    游戏採用了Sprite kit最新的Per pixel for physic 技术。就是直接使用texture纹理作为sprite的physics body 。

    游戏的texture.atlas从别的打飞机项目中拷之并辛苦地分解了。

    游戏编写借鉴了网上的objc代码!


    2 游戏编写过程

    加入背景-》

    加入控制的飞机-》

    加入发子弹-》

    加入敌机-》

    检測contact接触-》

    加入分数-》

    加入游戏控制暂停。继续。又一次開始


    3 须要注意的问题

    1)SKScene 

    GameScene加载时默认的frame大小 是1024*768,这是因为GameScene.sks的设置决定的。

    但对于打飞机这款仅仅要竖屏就能玩的游戏来说,没有这个必要,所以在GameViewController里初始化时设置了GameScene的大小

    scene.size = view.frame.size

    当然也能够在Sprite kit editor中直接改

    2)per pixel的问题

    因为physics body是texture的形状并且是像素级别。所以有锯齿,导致的问题就是contact接触检測时出现一次接触调用n次didBeginContact:函数

    解决的方法就是把图用photoshop打开编辑。把边修得平一点。


    4 小结

    总体上来说。用Swift和ObjC本质是一样的。该怎么编写还是得怎么编写,但代码确实是简洁了不少,能够节省非常多时间。所以建议换到Swift!




  • 相关阅读:
    sharepoint具体错误提示
    体验魅力Cognos BI 10 系列,第1 部分: 第一次安装
    Moss、SharePoint数据库迁移问题(转)
    XML解析
    JDBC进阶
    JDBC的操作
    项目Contact开发中遇到的,引以为戒
    递归练习
    递归详解(四)
    递归详解(三)
  • 原文地址:https://www.cnblogs.com/lxjshuju/p/7122504.html
Copyright © 2020-2023  润新知