
Lv.1
我披星斩月 我奋不顾身 只为证明 你是个托(
在 [退猫贴]喵啊 中回复
我™退猫两天,昨天晚上才回来。你今天就给我走了.................
呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜
mx!你给我回来!!!!!!!!!!!!!!
2020-08-18T08:01:02 点赞:0
在 【代码岛教程贴】玩家发送指令并让系统自己恢复 中回复
...........
你头像貌似...........
和一位大佬一样,这样别人会认错的!
为了避免麻烦!
请更改会你原本的头像!!!![]()
2020-08-18T08:04:08 点赞:2
在 【举报】CM一天中午 中回复
对我来说,我可以选择不管这件事情
因为,这位兄嘚,你举报了我@CM一天中午!!!
并且,举报貌似并没有成功!
而这一次,你必须把头像改回来,
因为这样搞头像的办法已经有帖子了,这并不能表明你真的会!
2020-08-18T08:09:29 点赞:1
在 【找人】box3找人 会建跑酷的来 中回复
https://box3create.codemao.cn/games/f4d46b83577c5d696113
2020-08-18T18:37:11 点赞:0
在 【代码岛3.0代码公布!】僵尸追杀玩家 中回复
/* 本代码实现的功能:
1. 僵尸追杀玩家, 并会对玩家造成伤害
2. 玩家可以点击僵尸进行反击
3. 玩家喵三秒后在空中随机的地点复活
使用说明:
请先在模型库中搜索一个叫做“僵尸"的模型,并放进地图里!不然会出错
*/
const MeshScale = [0.0625,0.0625,0.0625]
fun ction spawn() {//把生成僵尸的代码封装成函数
const e = world.createEntity({
mesh:'mesh/僵尸.vb',
meshScale:MeshScale,
collides:true, // 开启碰撞
gravity:true, // 开启重力
friction:0, // 关闭摩擦力
maxHp:20,
hp:20,
position:[
64+(Math.random()-0.5) * 60,
24 + Math.random() * 50,
64+(Math.random()-0.5) * 60,
],
});
e.addTag('僵尸');
e.enableDamage = true;
e.onVoxelContact(({x,y,z,voxel})=>{
e.velocity.y = 0.3+Math.random()*0.7//碰到砖块就跳一下
})
e.onEntityContact(({other})=>{
if(other.isPlayer){//僵尸撞到玩家
other.hurt(40)//对玩家造成伤害
}
})
}
for (let i = 0; i < 30; i++) {//开局生成一堆僵尸
spawn()
}
const Quat = new Box3Quaternion(0,0,0,1)// box引擎默认的旋转朝向
let allPlayers = []//所有玩家
let allZombies = []//所有僵尸
world.onTick(asyn c ({tick}) => {//每秒16个tick
if(tick%16===0){//每16个tick运行一次, 而不是每个tick都运行,节省性能
allPlayers = world.querySelectorAll('player')
allZombies = world.querySelectorAll('.僵尸')
}
allZombies.forEach(asyn c (e) => {
let zomPos = e.position
if(tick%11===0){//每11个tick运行一次, 而不是每个tick都运行,节省性能
let target = allPlayers.sort((a,b)=>{//僵尸寻找距离最近的玩家
return a.position.distan ce(zomPos)-b.position.distan ce(zomPos)
})[0]
if(target){//地图如果还有玩家
e.target = target//让僵尸记住要追杀的玩家
}
}
if(e.target && !e.target.destroyed){//如果要追杀的玩家还没有离开地图
var direction = e.target.position.sub(zomPos); //僵尸往玩家的方向矢量
var dist = direction.mag() //矢量的长度
var speed = 0.2+Math.random()*0.3 //速度0.2~0.5随机
e.velocity.x = direction.x*speed/dist
e.velocity.z = direction.z*speed/dist
// 让僵尸面向自己的前进方向
var orientation = Quat.rotateY(Math.atan2(e.velocity.z, e.velocity.x))
e.meshOrientation.copy(orientation)
}
})
})
world.onPlayerJoin(({entity})=>{
entity.enableDamage = true;
entity.onDie(asyn c()=>{
world.say(`${entity.player.name} 被袭击身亡, 3秒后复活`)
await sleep(3000)
// 空中随机位置复活
entity.position.x = Math.random()*127
entity.position.z = Math.random()*127
entity.position.y = 100
await sleep(100) // 防止引擎延迟造成复活后受到死前的伤害
entity.hp = entity.maxHp //恢复满血
})
})
world.onClick(({entity})=>{
entity.hurt(10) //被点中的实体会掉血
})
拿走不谢![]()
注意空格![]()
2020-08-18T19:44:04 点赞:0