猫史档案馆


【岛3代码入门02】如何创建实体,长出一片青青喵原🌲

用户:神岛吉吉喵神岛吉吉喵查看:53 回复:58 评论:53 创建时间:2020-10-31T15:44:11


center_image

代码入门教程第2弹来咯!

上一期学了怎么建造方块,

那么在地图里用代码快速添加模型呢?

👇👇👇👇👇

https://www.bilibili.com/video/BV1Yi4y177SX/

 

查看API文档,了解更多:

https://docs.box3.codemao.cn/

 

本教程所用到的代码:

1.从模型库生成一个模型到场景

//1.从模型库生成一个模型到场景
const meshScale = 1/16 //默认模型方块大小倍数为地图方块的1/16
world.createEntity({
    mesh:'mesh/茂盛的喵.vb',//模型名
    collides:false,//能碰撞
    fixed:true,//固定
    gravity:false,//受重力影响
    meshScale:[meshScale,meshScale,meshScale],//xyz放大倍数
    position:[63,10,63],//位置坐标
})
  2. 改代码, 生成多种模型到场景 
// 2 改代码, 生成多种模型到场景
function spawn(x,y,z,meshName){
  const meshScale = 1/16 //默认模型方块大小倍数为地图方块的1/16
  return world.createEntity({
    mesh:meshName,//模型名
    collides:false,//能碰撞
    fixed:true,//固定
    gravity:false,//受重力影响
    meshScale:[meshScale,meshScale,meshScale],//xyz放大倍数
    position:[x,y,z],//位置坐标
  })
}
spawn(63,10,63,'mesh/茂盛的喵.vb')
spawn(63,10,65,'mesh/花.vb')
spawn(63,10,67,'mesh/树.vb')
  3. 用for循环随机生成树林
//3 用for循环随机生成树林(先用一个for循环只生成喵地, 然后再演示后两个for循环把花和树加进来)
function spawn(x,y,z,meshName,scale){
  const meshScale = scale/16 //默认模型方块大小倍数为地图方块的1/16
  return world.createEntity({
    mesh:meshName,//模型名
    collides:false,//能碰撞
    fixed:true,//固定
    gravity:false,//受重力影响
    meshScale:[meshScale,meshScale,meshScale],//xyz放大倍数
    position:[x,y,z],//位置坐标
  })
}

for(var i=0;i<800;i++){
  spawn(Math.random()*127,9,Math.random()*127,'mesh/茂盛的喵.vb',1)
}

for(var i=0;i<50;i++){
  spawn(Math.random()*127,9,Math.random()*127,'mesh/花.vb',1)
}

for(var i=0;i<100;i++){
  spawn(Math.random()*127,9,Math.random()*127,'mesh/树.vb',3+3*Math.random())
}
  4. 修改代码, 修正模型Y坐标使模型完喵出地面, 并给树木加碰
//4 修改代码, 修正模型Y坐标使模型完喵出地面, 并给树木加碰撞
function spawn(x,y,z,meshName,scale){
  const meshScale = scale/16 //默认模型方块大小倍数为地图方块的scale/16
  const entity = world.createEntity({
    mesh:meshName,//模型名
    collides:false,//能碰撞
    fixed:true,//固定
    gravity:false,//受重力影响
    meshScale:[meshScale,meshScale,meshScale],//xyz放大倍数
    position:[x,y,z],//位置坐标
  })
  correctY(entity)
  return entity
}

for(var i=0;i<800;i++){
  spawn(Math.random()*127,9,Math.random()*127,'mesh/茂盛的喵.vb',1)
}

for(var i=0;i<50;i++){
  spawn(Math.random()*127,9,Math.random()*127,'mesh/花.vb',1)
}

for(var i=0;i<100;i++){
  let tree = spawn(Math.random()*127,9,Math.random()*127,'mesh/树.vb',3+3*Math.random())
  tree.collides = true
}

async function correctY(entity){
  await sleep(1)//entity.bounds需要等到下一个tick才会变成真正的值
  entity.position.y += entity.bounds.y//bounds.y是中心点到模型顶部或底部的距离
}

你学会了吗?

(づ。◕‿‿◕。)づ

加入代码岛3.0官方内测Q喵

官网:box3.codemao.cn


回复

上一页1 页 / 共 2下一页
神岛吉吉喵神岛吉吉喵

代码萌新,第二课打卡点

emotion_编程猫_搓头

点赞0


评论


老葵老葵

被抢了

点赞0


评论


Architect_传闻中的球Architect_传闻中的球

沙发

点赞0


评论


凉飘飘fly凉飘飘fly

三分钟,还热乎

点赞0


评论


沉浮于世的微尘沉浮于世的微尘

前排

 

点赞0


评论


亿只懒Ink亿只懒Ink

热乎着呢

点赞0


评论


退了吗_航空企鹅退了吗_航空企鹅

草!

点赞0


评论


不知道该叫啥的一只萌新不知道该叫啥的一只萌新

打卡!

点赞0


评论


SCX传闻中的大葱SCX传闻中的大葱

打卡

点赞0


评论


LightnessLightness

板凳似乎没人要我要了

点赞0


评论


可怜发不了评论了的张不二嘻可怜发不了评论了的张不二嘻

打卡!

点赞0


评论


起锅烧油起锅烧油

前排

点赞0


评论


未命名用户7764821未命名用户7764821

前排

点赞0


评论


可靠的蓝甲虫sDuG可靠的蓝甲虫sDuG

function spawn(x,y,z,meshName,scale){
  const meshScale = scale/16 //默认模型方块大小倍数为地图方块的scale/16
  const entity = world.createEntity({
    mesh:meshName,//模型名
    collides:false,//能碰撞
    fixed:true,//固定
    gravity:false,//受重力影响
    meshScale:[meshScale,meshScale,meshScale],//xyz放大倍数
    position:[x,y,z],//位置坐标
  })
  correctY(entity)
  return entity
}

for(var i=0;i<800;i++){
  spawn(Math.random()*127,9,Math.random()*127,'mesh/茂盛的草.vb',1)
}

for(var i=0;i<50;i++){
  spawn(Math.random()*127,9,Math.random()*127,'mesh/花.vb',1)
}

for(var i=0;i<100;i++){
  let tree = spawn(Math.random()*127,9,Math.random()*127,'mesh/树.vb',3+3*Math.random())
  tree.collides = true
}

async function correctY(entity){
  await sleep(1)
  entity.position.y += entity.bounds.y
}

点赞0


评论


编程梦想家编程梦想家

前排

点赞0


评论


编程猫编程猫

前排

点赞0


评论


无限正义无限正义

你学废了吗

点赞0


评论


误杀丶误杀丶

前排

点赞0


评论


燚卿燚卿

前排

点赞0


评论


独立的扎古OST6独立的扎古OST6

前排

 

点赞0


评论


小小瓢虫小小瓢虫

6666666666

点赞0


评论


WDS宣传委员WDS宣传委员

前排

点赞0


评论


Chengxuyee_已退Chengxuyee_已退

nc

点赞0


评论


1232RvE1232RvE

打卡

点赞0


评论


宏图大志EB9j宏图大志EB9j

真的废了

点赞0


评论


XYS林深时见鹿XYS林深时见鹿

你学废了吗?

点赞0


评论


传闻中的大葱传闻中的大葱

前排

点赞0


评论


AlcalaAlcala

其实JS与C++语言结构差不多

点赞0


评论


为什么控制区不能用???awa!!!!!!!!!!

点赞0


评论


LCF_viki617LCF_viki617

求让这片青青喵原长在头顶的代码awa

点赞1


评论