123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- import FqLogin from "../../../../login/FqLogin";
- import { AudioMgr } from "../../../../main/ViewManage";
- import BaseEvent from "../base/BaseEvent";
- /**
- * 打开机关
- */
- const { ccclass, property } = cc._decorator;
- @ccclass
- export default class FOpenDoorVineEx extends BaseEvent {
- @property({
- displayName: '提示图标',
- type: cc.SpriteFrame
- })
- mTipsIcon: cc.SpriteFrame = null;
- /**
- * 控制的栅栏
- */
- @property([cc.Node])
- mFenceTrigger: Array<cc.Node> = [];
- @property([cc.Node])
- guides: Array<cc.Node> = [];//引导标识
- private isOver = false;
- /**
- * 主角进入碰撞区域
- * @param tag 碰撞组件编号
- */
- public onBegin(tag: number) {
- if (this.isOver) {
- return
- }
- this.showOpt(this.mTipsIcon, () => {
- this.closeOpt()
- this.pause()
- let target = this.node.children[0].children[0]
- cc.tween(target).sequence(
- cc.moveBy(0.2, cc.v2(0, -20)),
- cc.moveBy(0.2, cc.v2(0, 20)),
- cc.moveBy(0.2, cc.v2(0, -20)),
- cc.moveBy(0.2, cc.v2(0, 20)),
- cc.moveBy(0.5, cc.v2(0, 200)),
- cc.callFunc(() => {
- this.moveCamera(this.mFenceTrigger[0].getPosition(), 1, () => {
- cc.tween(this.node).sequence(
- cc.callFunc(() => {
- for (let i = 0; i < this.mFenceTrigger.length; i++) {
- const element = this.mFenceTrigger[i];
- this.showFence(element, 'close');
- }
- this.ff.main.playerEffectByPath(AudioMgr.openDoor);
- }),
- cc.delayTime(1),
- cc.callFunc(() => {
- this.resume()
- FqLogin.commitEvent(this.node.name, '', '');
- for (let i = 0; i < this.mFenceTrigger.length; i++) {
- const element = this.mFenceTrigger[i];
- element.destroy()
- }
- this.node.destroy()
- })
- ).start();
- })
- })
- ).start()
- })
- }
- private showFence(element, action) {
- let nodes = element.children;
- for (let i = 0; i < nodes.length; i++) {
- const element = nodes[i];
- let spine = element.getComponent(sp.Skeleton);
- if (spine) {
- spine.setAnimation(0, action, false);
- }
- }
- }
- }
|