Lv.1
在 Box3.0在线等,急 中回复
还有这里哪错了?
world.onPlayerJoin(({ entity }) => {
entity.junk = 0
entity.money = 0
entity.itemList = []
entity.player.onPress(({ button }) => {
if (button == Box3ButtonType.ACTION1){
textDialog(entity, `你身上有:\n\n${entity.money}元,${entity.junk}个废品\n道具:[${entity.itemList}]`)
}
})
})
for (const e of world.querySelectorAll('.瓶盖垃圾,.空瓶垃圾')) {
e.enableInteract = true
e.interactRadius = 2
e.interactHint = e.tags()
e.interactColor.set(0,1,0)
e.onInteract(({ entity }) => {
entity.junk += 1
e.destroy()
entity.player.directMessage(`${entity.player.name}累积捡到${entity.junk}个废品`)
})
}
function textDialog(entity,content,title) {
return entity.player.dialog({
type:Box3DlalogTybe.TEXT,
content,
title,
})
}
2021-02-13T11:44:42 点赞:0
在 【代码岛3.0科普贴】怎么将地面全部变成水? 中回复
输入这行代码(在控制台)试试:world.say('吉吉喵 进入了地图');world.say('吉吉喵 离开了地图')
2021-03-18T20:15:27 点赞:0
在 【岛3-API教程3!】用方块检测,做一片刀山火海🌋 中回复
刀山火海代码:
function cylinder(cx,cy,cz,vox,radius,height){
var xend = cx+radius
var yend = cy+height
var zend = cz+radius
for(var x=cx-radius;x<=xend;x++){
for(var z=cz-radius;z<=zend;z++){
var dx = x-cx;
var dz = z-cz;
if(Math.round(Math.sqrt(dx*dx+dz*dz))<=radius){
for(var y=cy;y<yend;y++){
voxels.setVoxel(x,y,z,vox)
}
}
}
}
}
for(var i=0;i<400;i++){ // 300个随机圆柱体构成场景
let x = Math.random() * 256 // x坐标
let z = Math.random() * 256 // z坐标
let h = Math.random() * 4 // 高 0~4
let r = 2 + Math.random() * 5 //半径 2~7
cylinder(x,9,z,'lava02',r,h)
}
for(var y=9;y<13;y++){//扫描9~12层的格子
for(var x=0;x<127;x++){
for(var z=0;z<127;z++){
// 如果当前格子不为空而它上面那格是空的, 则表示它是复杂地形的表面
if(voxels.getVoxel(x,y,z)!=0 && voxels.getVoxel(x,y+1,z)==0){
voxels.setVoxel(x,y,z,'lava02')// 土块替换成草地
// 在草地上以3%的几率生成3种植物的其中一种
var rnd = Math.random()
var cx = x+0.5 // 修正到方块中心的x坐标
var cz = z+0.5 // 修正到方块中心的z坐标
if(rnd<0.03){
spawn(cx,y+1,cz,'mesh/刀.vb',0.8)
}
}
}
}
}
async function correctY(entity){
await sleep(1)//entity.bounds需要等到下一个tick才会变成真正的值
entity.position.y += entity.bounds.y//bounds.y是中心点到模型顶部或底部的距离
}
function spawn(x,y,z,meshName,scale){
const meshScale = scale/16 //默认模型方块大小倍数为地图方块的1/16
const entity = world.createEntity({
mesh:meshName,//模型名
collides:false,//不能碰撞
fixed:true,//固定
gravity:false,// 不受重力影响
meshScale:[meshScale,meshScale,meshScale],//xyz放大倍数
position:[x,y,z],//位置坐标
})
correctY(entity)
function cylinder(cx,cy,cz,vox,radius,height){
var xend = cx+radius
var yend = cy+height
var zend = cz+radius
for(var x=cx-radius;x<=xend;x++){
for(var z=cz-radius;z<=zend;z++){
var dx = x-cx;
var dz = z-cz;
if(Math.round(Math.sqrt(dx*dx+dz*dz))<=radius){
for(var y=cy;y<yend;y++){
voxels.setVoxel(x,y,z,vox)
}
}
}
}
}
}
for(var i=0;i<800;i++){ // 600个随机圆柱体构成场景
let x = Math.random() * 256 // x坐标
let z = Math.random() * 256 // z坐标
let h = Math.random() * 4 // 高 0~4
let r = 2 + Math.random() * 5 //半径 2~7
cylinder(x,9,z,'lava02',r,h)
}
for(var y=9;y<13;y++){//扫描9~12层的格子
for(var x=0;x<256;x++){
for(var z=0;z<256;z++){
// 如果当前格子不为空而它上面那格是空的, 则表示它是复杂地形的表面
if(voxels.getVoxel(x,y,z)!=0 && voxels.getVoxel(x,y+1,z)==0){
voxels.setVoxel(x,y,z,'lava02')// 土块替换成
// 在草地上以3%的几率生成3种植物的其中一种
var rnd = Math.random()
var cx = x+0.5 // 修正到方块中心的x坐标
var cz = z+0.5 // 修正到方块中心的z坐标
if(rnd<0.03){
spawn(cx,y+1,cz,'mesh/刀.vb',0.8)
}
}
}
}
}
async function correctY(entity){
await sleep(1)//entity.bounds需要等到下一个tick才会变成真正的值
entity.position.y += entity.bounds.y//bounds.y是中心点到模型顶部或底部的距离
}
function spawn(x,y,z,meshName,scale){
const meshScale = scale/16 //默认模型方块大小倍数为地图方块的1/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
}
(注:此为超大地图代码,如是大地图,请修改代码)
2021-03-19T23:17:52 点赞:0
在 【岛3创作节】挑战32爆肝48,倒计两小时! 中回复
吉吉喵,快审,链接:https://box3.codemao.cn/e/4b2ab7af928ff0a91b42
2021-03-27T11:02:34 点赞:0
在 【岛3创作节】挑战32爆肝48,倒计两小时! 中回复
吉吉喵,快审,链接:https://box3.cod喵/e/4b2ab7af928ff0a91b42
2021-03-27T16:29:07 点赞:0
在 这代码哪错了? 中回复
world.onVoxelContact(({voxel,entity})=>{//设置碰撞事件 const block=voxels.id('X');//设置碰撞对象ID为'X',触发(方块ID可改),给碰撞对象取名字为block(方块) if(voxel===block){//如果碰撞了 entity.player.directMessage('存档成功!');//私信玩家‘存档成功’ entity.player.spawnPoint=new Box3Vector(x ,y+2,z);//玩家重生点 }//万能框架 })//万能框架 懂?
2021-03-28T16:21:26 点赞:0
在 【岛3创作节】爆“肝”48小时后,你们做出了怎样的作品? 中回复
拉个票:https://shequ.codemao.cn/community/369595
2021-03-28T18:09:12 点赞:0
在 招聘代码/建筑师 中回复
2021-03-29T12:22:11 点赞:0