|
@@ -201,6 +201,7 @@ export class MateMove extends Laya.Script3D{
|
|
}
|
|
}
|
|
}
|
|
}
|
|
SKY(){
|
|
SKY(){
|
|
|
|
+ WXSDK.Shake();
|
|
this._animator.play("sky");
|
|
this._animator.play("sky");
|
|
}
|
|
}
|
|
ARRIVER(){
|
|
ARRIVER(){
|
|
@@ -226,11 +227,13 @@ export class MateMove extends Laya.Script3D{
|
|
this.destroy();
|
|
this.destroy();
|
|
}
|
|
}
|
|
FallDown(){
|
|
FallDown(){
|
|
- Laya.timer.clear(this,this.SetNewMovePoint);
|
|
|
|
- GameManager.Instance.GameLose();
|
|
|
|
- AudioManager.PlayVoice(VoiceType.lose);
|
|
|
|
- WXSDK.Shake(true);
|
|
|
|
- this.destroy();
|
|
|
|
|
|
+ if(this.Tag_Head){
|
|
|
|
+ Laya.timer.clear(this,this.SetNewMovePoint);
|
|
|
|
+ GameManager.Instance.GameLose();
|
|
|
|
+ AudioManager.PlayVoice(VoiceType.lose);
|
|
|
|
+ WXSDK.Shake(false);
|
|
|
|
+ this.destroy();
|
|
|
|
+ }
|
|
}
|
|
}
|
|
//#region ZQ
|
|
//#region ZQ
|
|
public RoleList:Sprite3D[]=[];
|
|
public RoleList:Sprite3D[]=[];
|
|
@@ -243,7 +246,7 @@ export class MateMove extends Laya.Script3D{
|
|
// this._MovetarPos = _point;
|
|
// this._MovetarPos = _point;
|
|
// this._gameobject.transform.position = this._MovetarPos.clone();
|
|
// this._gameobject.transform.position = this._MovetarPos.clone();
|
|
// this._gameobject.transform.rotationEuler = _rotate.clone();
|
|
// this._gameobject.transform.rotationEuler = _rotate.clone();
|
|
-
|
|
|
|
|
|
+ if(this.pause)return;
|
|
if(_point){
|
|
if(_point){
|
|
this._MovetarPos = _point;
|
|
this._MovetarPos = _point;
|
|
this._gameobject.transform.position = this._MovetarPos.clone();
|
|
this._gameobject.transform.position = this._MovetarPos.clone();
|
|
@@ -270,6 +273,7 @@ export class MateMove extends Laya.Script3D{
|
|
|
|
|
|
private RoleMoveFun()
|
|
private RoleMoveFun()
|
|
{
|
|
{
|
|
|
|
+ if(this.pause)return;
|
|
Quaternion.lookAt(this._MovetarPos, this._transform.position, this._up, this._quaternion);
|
|
Quaternion.lookAt(this._MovetarPos, this._transform.position, this._up, this._quaternion);
|
|
this._quaternion.invert(this._quaternion);
|
|
this._quaternion.invert(this._quaternion);
|
|
Quaternion.slerp(this._transform.rotation, this._quaternion, 0.1, this._quaternion);
|
|
Quaternion.slerp(this._transform.rotation, this._quaternion, 0.1, this._quaternion);
|
|
@@ -353,6 +357,7 @@ export class MateMove extends Laya.Script3D{
|
|
|
|
|
|
Move(_dir: Vector3) {
|
|
Move(_dir: Vector3) {
|
|
|
|
|
|
|
|
+ if(this.pause)return;
|
|
let speed = this.testspeed;
|
|
let speed = this.testspeed;
|
|
if (this.ChargeTime > 0) {
|
|
if (this.ChargeTime > 0) {
|
|
this.ChargeTime -= 0.01;
|
|
this.ChargeTime -= 0.01;
|
|
@@ -417,7 +422,7 @@ export class MateMove extends Laya.Script3D{
|
|
// var distance = 0.5;
|
|
// var distance = 0.5;
|
|
// var isFowardHit = false;
|
|
// var isFowardHit = false;
|
|
// var boxCollider:Laya.BoxColliderShape = new Laya.BoxColliderShape(0.1, 0.1, 0.1);
|
|
// var boxCollider:Laya.BoxColliderShape = new Laya.BoxColliderShape(0.1, 0.1, 0.1);
|
|
- // var from:Vector3 = new Vector3(this._gameobject.transform.position.x,this._gameobject.transform.position.y+0.1,this._gameobject.transform.position.z);
|
|
|
|
|
|
+ // var from:Vector3 = new Vector3(this._gameobject.transform.position.x,this._gameobject.transform.position.y+0.2,this._gameobject.transform.position.z);
|
|
// let foward = Transform3DHelper.getForward(this._gameobject.transform);
|
|
// let foward = Transform3DHelper.getForward(this._gameobject.transform);
|
|
// foward=new Vector3(foward.x*distance,foward.y*distance,foward.z*distance);
|
|
// foward=new Vector3(foward.x*distance,foward.y*distance,foward.z*distance);
|
|
// var to:Vector3 = new Vector3(0,0,0);
|
|
// var to:Vector3 = new Vector3(0,0,0);
|
|
@@ -428,49 +433,74 @@ export class MateMove extends Laya.Script3D{
|
|
// console.log(this.FowardHit.collider.owner.parent.name);
|
|
// console.log(this.FowardHit.collider.owner.parent.name);
|
|
// console.log("前方有物体");
|
|
// console.log("前方有物体");
|
|
// }
|
|
// }
|
|
- // if (this.FowardHit.collider.collisionGroup == 100) {//Npc
|
|
|
|
|
|
+ // if(this.FowardHit.collider.collisionGroup == 100){//Npc
|
|
// console.log("射线打到npc了");
|
|
// console.log("射线打到npc了");
|
|
// this.ForwardTarget = this.FowardHit.collider;
|
|
// this.ForwardTarget = this.FowardHit.collider;
|
|
// isFowardHit = true;
|
|
// isFowardHit = true;
|
|
// let _mate = this.FowardHit.collider.owner.parent.getComponent(MateMove) as MateMove;
|
|
// let _mate = this.FowardHit.collider.owner.parent.getComponent(MateMove) as MateMove;
|
|
- // if (_mate) {
|
|
|
|
- // let _model;
|
|
|
|
- // if (this.RoleList.length > 0) {
|
|
|
|
- // _model = this.RoleList[this.RoleList.length - 1];
|
|
|
|
- // }
|
|
|
|
- // else {
|
|
|
|
- // _model = this._gameobject;
|
|
|
|
- // }
|
|
|
|
- // _mate.Start(_model);
|
|
|
|
- // let target = this.FowardHit.collider.owner.parent as Laya.Sprite3D;
|
|
|
|
- // if (!this.JudgeEqual(target)) {
|
|
|
|
- // this.RoleList.push(target);
|
|
|
|
- // }
|
|
|
|
- // }
|
|
|
|
- // AudioManager.PlayVoice(VoiceType.crashrole);
|
|
|
|
- // WXSDK.Shake();
|
|
|
|
|
|
+ // if(_mate){
|
|
|
|
+ // let _model;
|
|
|
|
+ // if(this.RoleList.length>0){
|
|
|
|
+ // _model = this.RoleList[this.RoleList.length-1];
|
|
|
|
+ // }
|
|
|
|
+ // else{
|
|
|
|
+ // _model = this._gameobject;
|
|
|
|
+ // }
|
|
|
|
+ // _mate.Start(_model);
|
|
|
|
+ // let target = this.FowardHit.collider.owner.parent as Laya.Sprite3D;
|
|
|
|
+ // if(!this.JudgeEqual(target)){
|
|
|
|
+ // this.RoleList.push(target);
|
|
|
|
+ // }
|
|
|
|
+ // }
|
|
|
|
+ // AudioManager.PlayVoice(VoiceType.crashrole);
|
|
|
|
+ // WXSDK.Shake();
|
|
// }
|
|
// }
|
|
- // else if (this.FowardHit.collider.collisionGroup == 2) {//墙
|
|
|
|
- // this.isdead = true;
|
|
|
|
- // let _wall = this.FowardHit.collider.owner.parent as Laya.Sprite3D;
|
|
|
|
- // let _behav = _wall.getComponent(WallBehav) as WallBehav;
|
|
|
|
- // if (_behav) {
|
|
|
|
- // _behav.Crash();
|
|
|
|
- // }
|
|
|
|
- // else {
|
|
|
|
- // _behav = _wall.addComponent(WallBehav) as WallBehav;
|
|
|
|
- // _behav.crash = true;
|
|
|
|
- // }
|
|
|
|
- // AudioManager.PlayVoice(VoiceType.crashwall);
|
|
|
|
- // WXSDK.Shake();
|
|
|
|
|
|
+ // else if(this.FowardHit.collider.collisionGroup == 2){//墙
|
|
|
|
+ // this.isdead = true;
|
|
|
|
+ // let _wall = this.FowardHit.collider.owner.parent as Laya.Sprite3D;
|
|
|
|
+ // let _behav = _wall.getComponent(WallBehav) as WallBehav;
|
|
|
|
+ // if(_behav){
|
|
|
|
+ // _behav.Crash();
|
|
|
|
+ // }
|
|
|
|
+ // else{
|
|
|
|
+ // _behav = _wall.addComponent(WallBehav) as WallBehav;
|
|
|
|
+ // _behav.crash = true;
|
|
|
|
+ // }
|
|
|
|
+ // AudioManager.PlayVoice(VoiceType.crashwall);
|
|
|
|
+ // WXSDK.Shake();
|
|
// }
|
|
// }
|
|
- // else if (this.FowardHit.collider.collisionGroup == 3) {//道具
|
|
|
|
- // this.Crash();
|
|
|
|
|
|
+ // else if(this.FowardHit.collider.collisionGroup == 3){//道具
|
|
|
|
+ // this.Crash();
|
|
// }
|
|
// }
|
|
- // else if (this.FowardHit.collider.collisionGroup == 200) {//终点
|
|
|
|
|
|
+ // else if(this.FowardHit.collider.collisionGroup == 4){//引导
|
|
|
|
+ // if(this.FowardHit.collider.owner.parent.name == "roleguide"){
|
|
|
|
+ // if(!this.showguide1){
|
|
|
|
+ // this.showguide1 = true;
|
|
|
|
+ // DispatcherManager.StageTrigger(StageState.ShowGuide1);
|
|
|
|
+ // }
|
|
|
|
+ // }
|
|
|
|
+ // // else if(this.FowardHit.collider.owner.parent.name == "roleguideend"){
|
|
|
|
+ // // DispatcherManager.StageTrigger(StageState.HideGuide1);
|
|
|
|
+ // // }
|
|
|
|
+ // else if(this.FowardHit.collider.owner.parent.name == "rotateguide"){
|
|
|
|
+ // if(!this.showguide2){
|
|
|
|
+ // this.showguide2 = true;
|
|
|
|
+ // DispatcherManager.StageTrigger(StageState.ShowGuide2);
|
|
|
|
+ // }
|
|
|
|
+ // }
|
|
|
|
+ // // else if(this.FowardHit.collider.owner.parent.name == "rotateguideend"){
|
|
|
|
+ // // DispatcherManager.StageTrigger(StageState.HideGuide2);
|
|
|
|
+ // // }
|
|
|
|
+ // }
|
|
|
|
+ // else if(this.FowardHit.collider.collisionGroup == 200){//终点
|
|
|
|
+ // let _endpoint = this.FowardHit.collider.owner.parent as Laya.Sprite3D;
|
|
// this.ChangeState(RoleState.Arriver);
|
|
// this.ChangeState(RoleState.Arriver);
|
|
// AudioManager.PlayVoice(VoiceType.win);
|
|
// AudioManager.PlayVoice(VoiceType.win);
|
|
- // WXSDK.Shake(true);
|
|
|
|
|
|
+ // WXSDK.Shake(false);
|
|
|
|
+ // let _winpre = AssetManager.Instance.getPref(ResourcesPath.YanHua);
|
|
|
|
+ // let _model = Laya.Sprite3D.instantiate(_winpre);
|
|
|
|
+ // LevelManager.Instance.spritepool.addChild(_model);
|
|
|
|
+ // _model.transform.position = _endpoint.transform.position.clone();
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
// return isFowardHit;
|
|
// return isFowardHit;
|
|
@@ -524,15 +554,37 @@ export class MateMove extends Laya.Script3D{
|
|
else if(this.FowardHit.collider.collisionGroup == 3){//道具
|
|
else if(this.FowardHit.collider.collisionGroup == 3){//道具
|
|
this.Crash();
|
|
this.Crash();
|
|
}
|
|
}
|
|
|
|
+ else if(this.FowardHit.collider.collisionGroup == 4){//引导
|
|
|
|
+ if(this.FowardHit.collider.owner.parent.name == "roleguide"){
|
|
|
|
+ if(!this.showguide1){
|
|
|
|
+ this.showguide1 = true;
|
|
|
|
+ DispatcherManager.StageTrigger(StageState.ShowGuide1);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ else if(this.FowardHit.collider.owner.parent.name == "rotateguide"){
|
|
|
|
+ if(!this.showguide2){
|
|
|
|
+ this.showguide2 = true;
|
|
|
|
+ DispatcherManager.StageTrigger(StageState.ShowGuide2);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
else if(this.FowardHit.collider.collisionGroup == 200){//终点
|
|
else if(this.FowardHit.collider.collisionGroup == 200){//终点
|
|
|
|
+ let _endpoint = this.FowardHit.collider.owner.parent as Laya.Sprite3D;
|
|
this.ChangeState(RoleState.Arriver);
|
|
this.ChangeState(RoleState.Arriver);
|
|
AudioManager.PlayVoice(VoiceType.win);
|
|
AudioManager.PlayVoice(VoiceType.win);
|
|
- WXSDK.Shake(true);
|
|
|
|
|
|
+ WXSDK.Shake(false);
|
|
|
|
+ let _winpre = AssetManager.Instance.getPref(ResourcesPath.YanHua);
|
|
|
|
+ let _model = Laya.Sprite3D.instantiate(_winpre);
|
|
|
|
+ LevelManager.Instance.spritepool.addChild(_model);
|
|
|
|
+ _model.transform.position = _endpoint.transform.position.clone();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return isFowardHit;
|
|
return isFowardHit;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ showguide1 = false;
|
|
|
|
+ showguide2 = false;
|
|
|
|
+
|
|
/**碰到道具 */
|
|
/**碰到道具 */
|
|
Crash(){
|
|
Crash(){
|
|
let target = this.FowardHit.collider.owner.parent;
|
|
let target = this.FowardHit.collider.owner.parent;
|
|
@@ -579,6 +631,32 @@ export class MateMove extends Laya.Script3D{
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ pause = false;
|
|
|
|
+ Pause(){
|
|
|
|
+ this._animator.play("idle");
|
|
|
|
+ this.testspeed = 0;
|
|
|
|
+ this.pause = true;
|
|
|
|
+
|
|
|
|
+ for (let i = 0; i < this.RoleList.length; i++) {
|
|
|
|
+ let _role = this.RoleList[i].getComponent(MateMove) as MateMove;
|
|
|
|
+ if(_role){
|
|
|
|
+ _role.Pause();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ Resume(){
|
|
|
|
+ this.pause = false;
|
|
|
|
+ this._animator.play("run");
|
|
|
|
+ this.testspeed = 0.3;
|
|
|
|
+
|
|
|
|
+ for (let i = 0; i < this.RoleList.length; i++) {
|
|
|
|
+ let _role = this.RoleList[i].getComponent(MateMove) as MateMove;
|
|
|
|
+ if(_role){
|
|
|
|
+ _role.Resume();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
JudgeEqual(_model:Laya.Sprite3D){
|
|
JudgeEqual(_model:Laya.Sprite3D){
|
|
for (let i = 0; i < this.RoleList.length; i++) {
|
|
for (let i = 0; i < this.RoleList.length; i++) {
|
|
let item = this.RoleList[i];
|
|
let item = this.RoleList[i];
|