关于游戏引擎PushButton的教程和演示(三)
2
3 Render.showCircle = true;
4 Render.radius = 25;
5 Render.positionReference = new PropertyReference("@Spatial.position");
6
7 entity.addComponent( Render, "Render" );
2
3 Render.loadFromImage = "../media/idleright.png";
4 Render.positionReference = new PropertyReference("@Spatial.position");
5
6 entity.addComponent( Render, "Render" );
![](https://images.cnblogs.com/cnblogs_com/freakshow/idleright.png)
到这可能我们预期的目的已经达到了,的确,你的想法是对的。但是,作为素材,加载的速度是很重要的,放在文件中被下载固然是一种天经地义的做法,但是在这里,PushButton提供给了我们一种新的做法,将图片加载到flash中,使加载速度更快捷(当然这是我的理解,Matthew Casperson也的的确确是这样说的,具体如何实现的,在这里我仍然无法回答,也无法验证,欢迎专家来讲解将图片加载到FLASH里的原理)。这里我将这些资源理解为嵌入式资源。
2 {
3 import com.pblabs.engine.resource.ResourceBundle;
4
5 public class Resources extends ResourceBundle
6 {
7 [Embed(source="../media/idleright.png", mimeType="application/octet-stream")]
8 public var ImgIdleRight:Class;
9
10 }
11 }
很明显,com.pblabs.engine.resource.ResourceBundle的这个ResourceBundle起到了这个作用,我们看到了图片被Embed,而且还设置了mimeType.
这和重要,在以后的学习过程中,无论声音(mp3文件),图片,以至于我们未来遇到的最重要的xml都将以这种方式嵌入到我们的游戏中去。
而这些XML将构成我们以后游戏的主框架,也就是表示层和控制层相分离,这种业务分离是很重要的,无论你在从事网站开发还是其他方面的开发,都至关重要。这些将在以后的章节中介绍,现在我们将用as代码实现一个简单游戏,而后,我们将业务分离采用xml+as的方式构筑我们的游戏,这也符合大多数开发模式。
明天将要回学校了,就写到这。
DEMO浏览页面:http://www.brighthub.com/hubfolio/matthew-casperson/media/p/61010.aspx
DEMO下载页面:http://www.brighthub.com/hubfolio/matthew-casperson/media/p/61012.aspx
英文教程页面: http://www.bukisa.com/articles/226072_pushbutton-tutorial-series-loading-resources(注:该国外教程服务器不稳定,偶尔睡觉)
下一期我们将会使这个角色动起来,Animation,这是很有意思的一件事,就好比你控制的人物在空闲时候自己会擦擦枪,跑起来把枪抗在后背上?
感谢 Matthew Casperson,感谢无私的分享。