PlayCanvas之entity常用语法

2020-07-10  本文已影响0人  千伞万伞
创建一个简单的实体
// 创建一个实体
var entity = new pc.Entity();
/**
为这个实体添加一个模型组件,
arg0:组件类型,比如model
arg1:对应组件相关设置
*/ 
entity.addComponent("model",{
  type: "box",
  castShadows: true
});
// 将该实体添加进我们的根层级(不确切的说也即添加进场景,让我们看到)
this.app.root.addChild(entity);

小插曲,app.root也是entity类型哦😊

// 因为我这边只有一个系统自动添加的camera,所以我这样是OK的
var camera = app.root.findComponent("camera");
camera.enabled = false;
// 如果层级树里有多个camera,且想关闭所有,则可使用以下方式
var cameraArr = app.root.findComponents("camera");
cameraArr.forEach( function(item){
     item.enabled = false;
} );
var camera = new pc.Entity();
camera.addComponent("camera", {
    clearColor: new pc.Color(0.1, 0.1, 0.1) // 这样背景偏暗
});
camera.translate(0, 0, 10);
app.root.addChild(camera);
var light = new pc.Entity();
light.addComponent("light", {
    type: "point",
    color: new pc.Color(1, 0, 0),
    radius: 100
});
app.root.addChild(light);
light.setLocalPosition(0, 0, 5);
  1. 创建一个新脚本,命名为myTest.js
// 为entity添加一个脚本组件
entity.addComponent("script");
// 为这个脚本组件创建一个脚本实例
entity.script.create('myTest', {
     // attributes: {
     //     time: 4
     // },
    preloading:true
});
// 在myTest.js的update方法里添加如下代码即可
this.entity.rotate(0, 20 * dt, 0);
上一篇 下一篇

猜你喜欢

热点阅读