游戏最重要的是好玩,只有不卡的游戏才能具备让玩家觉得好玩的可能性,所以游戏开发对程序员来说最重要的是性能,而游戏中有着无数的元素,针对这些元素的优化,才是最根本的优化,本节课主要讲解如果用最优化的办法,通过各种方式创建sprite
修改上个demo的menu,再加入一个MenuItemFont,需要修改一下两个MenuItemFont的position,不然就会重叠了
加入一个精灵,作为背景,但是背景图片的大小不对,所以需要用到setScale来调整,调整比例为getWinSize/元素的getContentSize
使用动画帧来创建一个精灵,首先先创建一个帧,创建帧的时候需要设置截取文件的哪一部分,然后把这个帧作为创建sprite的参数,创建sprite。用处比较容易理解,教程说是用于制作动画效果,我觉得它的作用一是可以从一张大图片中做截取,二是可以把一个texture当作一帧。缺点,每次都读取文件,很耗费资源
使用texture来创建一个精灵,首先先创建一个image,image没有create方法,需要用oc创建的方法,然后加入autorelease pool,然后initWithImageFile。texture也没有create方法,所以创建的方法同image,调用initWithImage。然后把这个texture作为创建sprite的参数,创建sprite。用处比较容易理解,一次读取文件,然后作为texture可以多次使用
为了更进一步减少读取文件次数,使用zwoptex把几个图片整合成一张图片,然后将整合的图片和plist文件加入resource。使用SpriteFrameCache来创建一个精灵,SpriteFrameCache是单例,所以先调用getinstance得到单例,通过单例的addSpriteFramesWithFile方法将plist加入,一次加入整个app受益,哪里都可以直接使用这个资源,非常快。然后调用SpriteFrameCache单例的getSpriteFrameByName方法,参数为原始图片的名字,得到一个动画帧,然后将动画帧创建成sprite即可和上面方法一样使用。
笔者制作网站的目的,主要是借用自己之前的知识背景(Android App开发和图形学知识),将自己学习笔记拿出来,和大家一起进行交流,毕竟每个人的知识体系不同,有交流才会有提高,所以欢迎大家通过各种方式和我联系。
网址:www.geekfaner.com
youku教学视频:http://i.youku.com/geekfaner
“百度传课”教学视频(高清版_推荐):http://www.chuanke.com/s2588605.html