123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- import FF from "../../FF";
- import FSprite from "../../object/FSprite";
- import WOneByone from "./WOneByone";
- /**
- * 结束事件提示
- */
- const {ccclass, property} = cc._decorator;
- @ccclass
- export default class FEndSign extends cc.Component {
- @property(cc.Prefab)
- mMapDialog: cc.Prefab = null;
- @property(cc.Node)
- mD1: cc.Node = null;
- private ff:FF = null;
- private isOver = false;
- onBeginContact(contact: cc.PhysicsContact, self: cc.PhysicsCollider, other: cc.PhysicsCollider){
- if(this.isOver){
- return
- }
- if(other.node.group == 'A'){
- let obj = other.node.getComponent(FSprite);
- this.ff = obj.ff;
- if(obj == this.ff.mainSprite){
- this.isOver = true;
- this.node.removeComponent(cc.PhysicsBoxCollider);
- this.run();
- }
- }
- }
- private run(){
- this.ff.pauseSprite(true);
- this.ff.mBlockInputEvents.active = true;
- let map = this.ff.mMap;
- let winSize = cc.winSize
- let camera = map.mCamera;
- let cx = this.node.x - winSize.width/2;
- let cy = this.node.y - winSize.height/2;
- cc.tween(camera.node).sequence(
- cc.moveTo(0.7,cc.v2(cx,cy)),
- cc.callFunc(()=>{
- this.run1();
- })
- ).start()
- }
- private run1(){
- this.mD1.active = true;
- let spine = this.mD1.getChildByName('chuansongmen1');
- spine.active = true;
- let monster = this.mD1.getChildByName('monster56');
- monster.active = true;
- monster.opacity = 0;
- cc.tween(monster).sequence(
- cc.fadeIn(1),
- cc.callFunc(()=>{
- this.d1();
- })
- ).start();
- }
- private d1(){
- let dialogs = [
- '看来你已经学会了基本的冒险方法,去吧,到了那边会有东西接应你的。',
- '加油,我的孩子,拯救众神的任务就交给你了',
- ];
- let node = cc.instantiate(this.mMapDialog);
- node.group = 'map'
- node.zIndex = 9999;
- node.x = this.mD1.x;
- node.y = this.mD1.y + this.mD1.height;
- node.parent = this.ff.mMap.mSprites;
- let obo = node.getComponent(WOneByone);
-
- obo.dialogs = dialogs;
- obo.setCallback(()=>{
- this.mD1.active = false;
- node.destroy();
- this.ff.setBlockInputCallback(null);
- this.ff.pauseSprite(false);
- this.ff.mBlockInputEvents.active = false;
- });
- this.ff.setBlockInputCallback(()=>{
- obo.jump();
- });
- obo._start();
- }
- }
|