Lv.1
在 Chat吉PT——懂神岛也更懂创作者的「AI睿智吉」! 中回复
为什么我网挺好的却进不去链接,扫也进不去imgsr喵demao.cn/emoji/codemao/%E7%BC%96%E7%A8%8B%E7%8C%AB_%E4%BC%A4%E5%BF%83.gif"alt="emotion_编程猫_伤心"width="46"height="46"
2024-07-24T15:16:56 点赞:0
在 【每日一个岛3建图小技巧】拥有一个跟随的皮卡丘?就决定是你啦! 中回复
ReferenceError: Box3Quaternion is not defined
at eval ( index.js:8:14) ???2024-07-25T17:35:31 点赞:0
在 【每日亿个岛3建图小技巧】点击建造或者摧毁方块,创意达人必备! 中回复
ReferenceError: Box3ButtonTypeisnotdefined at eval ( index.js:164:20)怎么回事啊 imgsrc="https://static.cod喵/emoji/codemao/%E7%BC%96%E7%A8%8B%E7%8C%AB_%E4%BC%A4%E5%BF%83.gif"alt="emotion_编程猫_伤心"
2024-08-01T16:26:55 点赞:0
在 谁会电梯代码? 中回复
//电梯(上、下、召唤)上下层
/* 在场景中搜索名称为 (‘#?’) 的模型,允许和它进行互动 */
const npc = world.querySelector('#dt_an-1');//场景中必须有此模型
npc.enableInteract = true; // 开启实体互动功能
npc.interactHint = '电梯按钮-1'; // 进入互动范围时提示的文字
npc.interactRadius = 2; // 互动范围大小
// 玩家与实体进行交互时触发
npc.onInteract(async ({entity}) => {
if(dt_c == 2){
dt_l = ['呼唤', '取消']
}else{
dt_l = ['上', '取消']
}
const result = await entity.player.dialog({
type: GameDialogType.SELECT,
title: npc.id,
lookTarget:npc,
content: `?`,//标题
options: dt_l,//按钮文本
});
console.log(`选择了第 index: ${result.index} 个选项: ${result.value}`)//打印:项、项的内容
//${result.index}: 项、、${result.value}:项的内容
// 如果选了第一个选项,也就是'当然'。就会执行特定事件
if (result.index === 0){
if(result.value === '上'){
dt_bl = 1
npc.say(`上`);//上方提示文字
}else{
npc.say(`呼唤中`);
elevator.position.y = 9.54
dt_c = 1
dt_bl = 0
npc.say(`电梯已到达`)
}
}else{
dt_bl = 0
}
});
const dt = world.querySelector('#dt_an-2');//场景中必须有此模型
dt.enableInteract = true; // 开启实体互动功能
dt.interactHint = '电梯按钮-2'; // 进入互动范围时提示的文字
dt.interactRadius = 2; // 互动范围大小
// 玩家与实体进行交互时触发
dt.onInteract(async ({entity}) => {
if(dt_c == 1){
dt_l = ['呼唤', '取消']
}else{
dt_l = ['下', '取消']
}
const result = await entity.player.dialog({
type: GameDialogType.SELECT,
title: dt.id,
lookTarget:dt,
content: `?`,//标题
options: dt_l,//按钮文本
});
console.log(`选择了第 index: ${result.index} 个选项: ${result.value}`)//打印:项、项的内容
//${result.index}: 项、、${result.value}:项的内容
// 如果选了第一个选项,也就是'当然'。就会执行特定事件
if (result.index === 0){
if(result.value === '下'){
dt_bl = 2
dt.say(`下`);//上方提示文字
}else{
dt.say(`呼唤中`);
elevator.position.y = 20.5
dt_c = 2
dt_bl = 0
npc.say(`电梯已到达`)
}
}else{
dt_bl = 0
}
});
//定义电梯属性
const elevator = world.querySelector('#dt-1') // 获取电梯地板实体
elevator.collides = true // 电梯开启碰撞检测
elevator.fixed = true // 电梯不受外力影响
//电梯移动
world.onEntityContact(({entity, other})=>{
// 实时监测整个世界的实体碰撞事件。entity指被碰撞的实体, other则是主动撞过来的实体
if(entity.id=='dt-1' && other.isPlayer){ // 如果 玩家踏上了电梯
if(dt_bl == 1){
if(entity.position.y <= 20.5){ // 如果玩家y低于2楼地板, 则判定玩家在1楼
entity.velocity.y = 0.1 // 电梯持续上移
world.say(other.player.name+' 坐电梯上楼')
}
}else if(dt_bl == 2){
if(entity.position.y >= 9.58){ // 如果玩家y低于2楼地板, 则判定玩家在1楼
entity.velocity.y = -0.1 // 电梯持续上移
world.say(other.player.name+' 坐电梯下楼')
}
}
}
})
world.onTick(()=>{ // 实时检测电梯位置, 进行检测是否到达1楼或2楼
if(elevator.position.y>20.5 && dt_bl == 1){ // 如果电梯y坐标高于2楼的地板, 电梯到达2楼
elevator.position.y = 20.5 // 复位到2楼的准确位置
elevator.velocity.y = 0 // 电梯停止移动
dt_c = 2
}else if(elevator.position.y<9.58 && dt_bl == 2){
elevator.position.y = 9.58 // 复位到1楼的准确位置
elevator.velocity.y = 0
dt_c = 1
}
})2024-08-06T13:29:08 点赞:0