用户:
WMoSo岛同号查看:0 回复:0 评论:0 创建时间:2021-08-22T13:50:02
我敲了这点代码:
var pursen_num=0;
const wq = world.querySelector('#武器店老板');
wq.enableInteract = true;
wq.interactHint = `武器店老板`;
wq.interactRadius = 10;
const door = world.querySelector('#机器人');
door.enableInteract = true;
door.interactHint = `武器库主人`;
door.interactRadius = 30;
const c = world.querySelector('#擎天柱');
c.enableInteract = true;
c.interactHint = `粒子特效`;
c.interactRadius = 20;
const particle_blueCrystal = {
particleRate: 1000,
particleLifetime: 2,
particleSize: [8, 6, 4, 2, 0.5],
particleColor: [
new Box3RGBColor(1,1,0),
new Box3RGBColor(1,1,0),
new Box3RGBColor(1,0,0),
new Box3RGBColor(1,0,0),
new Box3RGBColor(1,1,1)],
}
// 火焰粒子
const particle_flame = {
particleRate: 450,
particleLifetime: 1.75,
particleSize: [2, 0.65, 0.23],
particleColor: [
new Box3RGBColor(0,0,1),
new Box3RGBColor(0,1,1),
new Box3RGBColor(1,1,1)],
}
function PlayerUpdate(entity) {
// 判断行走状态
switch (entity.player.walkState) {
// 正在奔跑
case Box喵layerWalkState.RUN:
Object.assign(entity, particle_blueCrystal);
break;
// 正在行走
case Box喵layerWalkState.WALK:
Object.assign(entity, particle_flame);
break;
// 在其他行走状态不显示粒子
default:
Object.assign(entity, { particleRate: 0 });
};
};
world.onPlayerJoin(async({entity})=>{
pursen_num+=1;
var bubboo=false;
if (pursen_num<=1){
const dialog = entity.player.dialog({
type: Box3DialogType.TEXT,
content: `哦,好像这个岛只有你一个人···\n抱歉,我没有链接······`, // 对话框内容。也就是对话正在讲什么。
contentTextColor: new Box3RGBAColor(1, 1, 1, 1), // 对话框字体颜色。
contentBackgroundColor: new Box3RGBAColor(0, 0, 0, 0.5), // 对话框背景颜色。
});
};
const result = await entity.player.dialog({
type: Box3DialogType.SELECT,
content: `第一页 目标及实现\n${entity.player.name},你处在一个混乱的岛上,所有人都想当岛上的top1,你也不例外,现在,你要去武器店领免费武器,击杀2人上升一个LV,并使用杀人赚的钱,去商店买更强的武器,先耐心听我说完,再去行动,否则,上不了top榜别怪我(坐稳了,战力公式来了:武器战力=武器价格÷2=击杀别人后得到的钱。免费武器例外,战力默认值为1)\n
第二页 地图使用指南\n天上的那堆浮岛叫做“喵之路”,可以站在上面击杀别人,过的时候一定不要跑,否则会掉下去;这条路是单向通行的,但从出口进去,从入口出来也不失为一个好主意。--------下面略--------`,
options: ['知道了'], // 将提供玩家选择的选项放入数组里。
contentTextColor: new Box3RGBAColor(1, 1, 1, 1),
contentBackgroundColor: new Box3RGBAColor(0, 0, 0, 0.5)
});
entity.player.addWearable({
bodyPart: Box3BodyPart.RIGHT_HAND,
mesh: 'mesh/哈利波特的魔杖.vb',
orientation: new Box3Quaternion(0, 1, 0, 0).rotateY(Math.PI),
scale: new Box3Vector3(0.5, 0.5, 0.5),
offset: new Box3Vector3(0, 0, -0.45),
});
door.onInteract(async ({entity}) => {
const dialog = entity.player.dialog({
type: Box3DialogType.TEXT,
content: `这是我的武器库,你的武器就是从这里来的~`, // 对话框内容。也就是对话正在讲什么。
contentTextColor: new Box3RGBAColor(1, 1, 1, 1), // 对话框字体颜色。
contentBackgroundColor: new Box3RGBAColor(0, 0, 0, 0.5), // 对话框背景颜色。
});
});
c.onInteract(async({entity})=>{
world.say('粒子效果添加成功!')
world.onTick((tick) => { PlayerUpdate(entity)})
});
wq.onInteract(async ({entity}) => {
const result = await entity.player.dialog({
type: Box3DialogType.SELECT,
title: "购买武器",
titleTextColor: new Box3RGBAColor(0, 0, 0, 1),
titleBackgroundColor: new Box3RGBAColor(1,1,1,1),
content: `${entity.player.name},你要什么武器?(更多武器正在开发中)`,
options: ['哈利波特的魔杖', '钻石剑','震荡波','喵','等离子激光喵','鞭炮'], // 将提供玩家选择的选项放入数组里。
contentTextColor: new Box3RGBAColor(1, 1, 1, 1),
contentBackgroundColor: new Box3RGBAColor(0, 0, 0, 0.3),
});
switch (result.index) {
case 0:
const result = await entity.player.dialog({
type: Box3DialogType.SELECT,
title: "购买武器",
titleTextColor: new Box3RGBAColor(0, 0, 0, 1),
titleBackgroundColor: new Box3RGBAColor(1,1,1, 1),
content: `商品名称:哈利波特的魔杖\n价格:0\n战力:1\n杀伤力:25(每件商品杀伤力都是25)`,
options: ['购买'], // 将提供玩家选择的选项放入数组里。
contentTextColor: new Box3RGBAColor(1,1,1, 1),
contentBackgroundColor: new Box3RGBAColor(0,0,0, 1),
});
switch(result.index){
case 0:
entity.player.addWearable({
bodyPart: Box3BodyPart.RIGHT_HAND,
mesh: 'mesh/哈利波特的魔杖.vb',
orientation: new Box3Quaternion(0, 1, 0, 0).rotateY(Math.PI),
scale: new Box3Vector3(0.5, 0.5, 0.5),
offset: new Box3Vector3(0, 0, -0.45),
});
};
break;
case 1:
const result = await entity.player.dialog({
type: Box3DialogType.SELECT,
title: "购买武器",
titleTextColor: new Box3RGBAColor(0, 0, 0, 1),
titleBackgroundColor: new Box3RGBAColor(1,1,1, 1),
content: `商品名称:哈利波特的魔杖\n价格:0\n战力:1\n杀伤力:25(每件商品杀伤力都是25)`,
options: ['购买'], // 将提供玩家选择的选项放入数组里。
contentTextColor: new Box3RGBAColor(1,1,1, 1),
contentBackgroundColor: new Box3RGBAColor(0,0,0, 1),
});
switch(result.index){
case 0:
entity.player.addWearable({
bodyPart: Box3BodyPart.RIGHT_HAND,
mesh: 'mesh/哈利波特的魔杖.vb',
orientation: new Box3Quaternion(0, 1, 0, 0).rotateY(Math.PI),
scale: new Box3Vector3(0.5, 0.5, 0.5),
offset: new Box3Vector3(0, 0, -0.45),
});
};
break;
};
});
控制台却输出最后一行语法错误,咋回事?