用户:
DebugDynamo查看:1 回复:7 评论:1 创建时间:2021-09-30T13:10:42
大家都知道,我是屑(划掉)
今天心血喵发个教程。
关于函数的(会的不要喷!!!)
————————————————————————————————
我今天要做n个武器特效,都是发射子弹的。
首先拿出搬砖的代码(划掉)
改一改,改一改
结果成了:
const MeshScale = [1 / 16, 1 / 16, 1 / 16] //正常的模型缩放比例
const Quat = new Box3Quaternion(0, 0, 0, 1) //默认的旋转状态
world.onPress(async ({ entity, button }) => {
if (button === Box3ButtonType.ACTION0) {
const d = entity.player.facingDirection //玩家的朝向
const knife = world.createEntity({
mesh: 'mesh/刀.vb',
meshScale: MeshScale,
collides: true, // 开启碰撞
gravity: false, // 不受重力影响
position: entity.position, // 在玩家的位置生成飞刀
velocity: d.scale(2), // 飞刀的初速度是玩家朝向向量的2倍
meshOrientation: Quat.rotateY(Math.atan2(d.z, d.x)), // 刀头指向玩家的朝向
})
knife.id = entity.player.userKey //将小刀的id设置成玩家userKey, 便于碰撞过滤器识别
knife.onEntityContact(({ other }) => {//每当飞刀碰到另一个实体
other.hurt(10)//被碰实体受10点伤害
})
await sleep(2000)//等2秒后
knife.destroy()//清除飞刀, 防止飞刀数量太多超过服务器负载
}
})
………………………………
问题来了:我要多次运用到这个代码,该怎么办啊
函数:我来啦!!!!!!!
改一改,改一改:
onst $1 = world.querySelector
const $2 = world.querySelectorAll
async function texiao1(entity, mesh, meshs, gravity, v, quat, hu, shi) {
if (entity.leng == false) {
return
}
const d = entity.player.facingDirection //玩家的朝向
const knife = world.createEntity({
mesh: mesh,
meshScale: meshs,
collides: true, // 开启碰撞
gravity: gravity, // 不受重力影响
position: entity.position, // 在玩家的位置生成飞刀
velocity: d.scale(v), // 飞刀的初速度是玩家朝向向量的2倍
meshOrientation: quat.rotateY(Math.atan2(d.z, d.x)), // 刀头指向玩家的朝向
})
knife.id = entity.player.userKey //将小刀的id设置成玩家userKey, 便于碰撞过滤器识别
knife.onEntityContact(({ other }) => {//每当飞刀碰到另一个实体
other.hurt(hu, {
attacker: entity
})//被碰实体受10点伤害
knife.destroy()//清除飞刀, 防止飞刀数量太多超过服务器负载
})
knife.onVoxelContact(({ voxel }) => {//每当飞刀碰到另一个实体
knife.destroy()//清除飞刀, 防止飞刀数量太多超过服务器负载
})
entity.leng = false
await sleep(shi)
entity.leng = true
}
看着这一堆参数,你的脑袋是不是晕了(划掉)
讲解一下:
entity都知道的
mesh表示模型名称
meshs表示模型大小(格式我就不讲了)
gravity表示重力的开启和关闭
v是速度
quat是模型的旋转(格式都知道的)
hu表示伤害
shi表示冷却时间(单位是秒的千分之一)
接下来开始运用
比如:
texiao1(entity, 'mesh/黄金剑气.vb', MeshScale, false, 1.3, Quat, 10, 1)
你学废了吗???()()()
下一期咱们讲别的。(也许不会有下一期了)
这是个水帖