渡口

Flash AS3

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

原文链接:http://www.brighthub.com/hubfolio/matthew-casperson/articles/73821.aspx

上一课我们创建了一个实体,显示了一个简单的圆形。这次我们载入一个外部图片来创建我们的主角。

先准备图片。在bin目录里建个assets文件夹,把主角图片player.png放入assets中。

将上一课的程序做一点改动:

package
{
import com.pblabs.engine.entity.IEntity;
import com.pblabs.engine.entity.PropertyReference;
import com.pblabs.engine.PBE;
import com.pblabs.rendering2D.SimpleSpatialComponent;
import com.pblabs.rendering2D.SpriteRenderer;
import com.pblabs.rendering2D.ui.SceneView;
import flash.display.Sprite;
import flash.geom.Point;

public class Main extends Sprite
{

public function Main()
{
PBE.startup(
this);
var sv:SceneView
= new SceneView();
PBE.initializeScene(sv);
createEntity();
}

private function createEntity():void {
var entity:IEntity
= PBE.allocateEntity();
entity.initialize("MyEntity","Items");
var spatial:SimpleSpatialComponent = new SimpleSpatialComponent();
spatial.spatialManager
= PBE.spatialManager;
spatial.position
= new Point(0,0);
entity.addComponent( spatial,
"Spatial" );

//注意,这里我们改用一个新的渲染组件SpriteRenderer
var render:SpriteRenderer = new SpriteRenderer();
render.scene
= PBE.scene;
//指定文件路径
render.fileName = 'assets/player.png';
//引用名为"Spatial"的组件的position属性,不再引用size属性
render.positionProperty = new PropertyReference("@Spatial.position");
entity.addComponent(render,
"Render");
}
}
}

但是许多时候还是把资源嵌入比较好。这时我们可以这样做:

还是先准备图片。在src目录(不是bin了)里建个assets文件夹,把主角图片player.png放入assets中。

新建GameResources类继承自com.pblabs.engine.resource.ResourceBundle。

package
{
import com.pblabs.engine.resource.ResourceBundle;

public class GameResources extends ResourceBundle
{

[Embed(source
= 'assets/player.png')]
public var player:Class;

}

}

在主程序的构造函数中加入一句:PBE.addResources(new GameResources()); 成为这样:

public class Main extends Sprite
{

public function Main()
{
PBE.startup(
this);
PBE.addResources(
new GameResources());
var sv:SceneView
= new SceneView();
PBE.initializeScene(sv);
createEntity();
}
好,现在你可以把bin目录中的assets目录删除,编译运行一下,看看资源是不是真的被嵌入了。
posted on 2011-06-20 10:23  BlueJack  阅读(816)  评论(0)    收藏  举报