简介
游戏完成之后,还需要教会玩家如何进行游戏,这时候就需要一个新手引导的部分来对玩家进行引导.
这个新手引导预制体可以进行基于ui,位置,和自定义条件的引导
预制体使用
简单使用案例
自己使用代码时请注释掉示例
/**
* 测试ui
*/
class TestUI extends UIScript {
mBtn: StaleButton
onStart() {
this.mBtn = StaleButton.newObject();
this.rootCanvas.addChild(this.mBtn);
this.mBtn.text = "测试按钮";
this.mBtn.onPressed.add(() => {
console.log("点击测试按钮");
})
this.mBtn.position = new mw.Vector2(200, 200);
this.mBtn.size = new mw.Vector2(200, 200);
}
}
/**
* 测试例子
*/
class TestHelper {
//引导测试
public static async testGuild() {
//创建引导
let guideModuleC = ModuleService.getModule(GuideModuleC);
// 进行位置引导时的距离
guideModuleC.setGuideArrowIntervalDis(100);
// 设置引导箭头的信息
guideModuleC.setGuideArrowPointerInfo("116496", new mw.Vector(1, 1, 1), false, 10);
GuideContent.GuideMatrialScale = 1;
// 创建一个UI引导
let newGuide = guideModuleC.addGuideStageHandle(1);
if (newGuide != null) {
// 获取引导UI
let uiHud = UIService.show(TestUI);
let waitSec = false;
// 添加一个运行函数,打印log
newGuide.addRunFunc(() => {
console.error("开始执行引导1");
})
// 添加绑定UI按钮
.addBindUIAndTips(uiHud.mBtn, "点击")
// 等待1秒
.addRunFunc(() => {
setTimeout(() => {
waitSec = true;
}, 1000);
})
.addCondition(() => waitSec)
.addBindUIAndTips(uiHud.mBtn, "再点击一次")
// 添加一个位置引导
newGuide.addBindWorldPos(new mw.Vector(1000, 0, 80))
}
//创建一个目标点引导
let newGuide2 = guideModuleC.addGuideStageHandle(2);
if (newGuide2 != null) {
//UI引导完成后继续执行目标点引导
newGuide.addRunFunc(() => {
guideModuleC.triggerGuide(2);
})
//创建引导世界坐标(通过寻路导航方式)
newGuide2.addBindWorldPos_Pointer(new mw.Vector(1500, 0, 80))
// 普通方式
.addBindWorldPos(new mw.Vector(1900, 0, 80))
.addRunFunc(() => {
guideModuleC.triggerGuide(3);
});
// 在引导3中重置引导2
let newGuide3 = guideModuleC.addGuideStageHandle(3);
newGuide3.addRunFunc(async () => {
let res = await guideModuleC.resetGuideById(2);
if (res) {
guideModuleC.triggerGuide(2);
}
})
}
// 重置所有引导
await ModuleService.getModule(GuideModuleC).resetAllGuideDB();
//触发引导1
guideModuleC.triggerGuide(1);
//监听引导回调
guideModuleC.guideComplateAction.clear();
guideModuleC.guideComplateAction.add((guideId: number) => {
console.error("引导 " + guideId + " 完成");
})
}
}