mirror of
https://gitee.com/jisol/jisol-game/
synced 2025-12-08 05:49:08 +00:00
更新无限模式
This commit is contained in:
@@ -83,7 +83,7 @@ export default class GOnHookMode extends GBaseMode<{}>{
|
||||
mapInfo:TableGMap;
|
||||
|
||||
//每一波怪的距离
|
||||
everyX:number = 1000;
|
||||
everyX:number = 600;
|
||||
|
||||
//下一波怪的对战位置X
|
||||
_nextFightX:number = 0;
|
||||
@@ -91,6 +91,7 @@ export default class GOnHookMode extends GBaseMode<{}>{
|
||||
set nextFightX(value:number){
|
||||
//修改玩家阵法位置
|
||||
this.playerInfo.tactical.setOffset(this.playerPos.clone().add(v2(value,0)))
|
||||
this.enemyInfo.tactical.setOffset(this.enemyPos.clone().add(v2(value,0)))
|
||||
this._nextFightX = value;
|
||||
}
|
||||
|
||||
@@ -111,11 +112,9 @@ export default class GOnHookMode extends GBaseMode<{}>{
|
||||
//初始化地图
|
||||
this.mapInfo = TableGMap.getConfig(60001);
|
||||
this.map1.init(app.battleRes.maps[60001][0],1);
|
||||
this.map1.UpdateMap(0,this.camera.node.worldPosition.x,this.mapInfo.map1OffsetY);
|
||||
this.map2.init(app.battleRes.maps[60001][1],1);
|
||||
this.map2.UpdateMap(0,this.camera.node.worldPosition.x,this.mapInfo.map2OffsetY);
|
||||
this.map3.init(app.battleRes.maps[60001][2],1,app.battleRes.maps[60001][1].width,app.battleRes.maps[60001][1].height);
|
||||
this.map3.UpdateMap(0,this.camera.node.worldPosition.x,this.mapInfo.map3OffsetY);
|
||||
this.onUpdateMap(0);
|
||||
|
||||
this.playerInfo = { tactical: GTactical.getTactical().setOffset(this.playerPos), roles: GRoleUtil.getGRoles([10004,10004,10004,10004,10003,10003]) };
|
||||
this.enemyInfo = { tactical: GTactical.getTactical(true).setOffset(this.enemyPos), roles: GRoleUtil.getGRoles([10002]) };
|
||||
@@ -123,10 +122,6 @@ export default class GOnHookMode extends GBaseMode<{}>{
|
||||
//生成玩家
|
||||
this.playerInfo.roles.forEach((info,index) => this.onGenRole(GOnHookModePlayerEnum.PLAYER,index + 1,info))
|
||||
|
||||
JNFrameTime.getInstance().setTimeout(() => {
|
||||
//下一波怪
|
||||
this.onNextTarget();
|
||||
})
|
||||
// //生成敌人
|
||||
// this.onResetGenerateEnemy();
|
||||
|
||||
@@ -134,10 +129,19 @@ export default class GOnHookMode extends GBaseMode<{}>{
|
||||
|
||||
onSyncUpdate(dt: number,frame:JNFrameInfo, input?: {}){
|
||||
super.onSyncUpdate(dt,frame,input);
|
||||
this.onUpdateMap(dt);
|
||||
this.onUpdateCamera(dt);
|
||||
this.fsm.onUpdate(dt,frame);
|
||||
}
|
||||
|
||||
//更新地图
|
||||
onUpdateMap(dt){
|
||||
let cameraX = this.camera.node.worldPosition.x;
|
||||
this.map1.UpdateMap(cameraX,0,this.mapInfo.map1OffsetY);
|
||||
this.map2.UpdateMap(cameraX,cameraX / 10,this.mapInfo.map2OffsetY);
|
||||
this.map3.UpdateMap(cameraX,0,this.mapInfo.map3OffsetY);
|
||||
}
|
||||
|
||||
//更新相机逻辑
|
||||
onUpdateCamera(dt:number){
|
||||
|
||||
@@ -145,7 +149,7 @@ export default class GOnHookMode extends GBaseMode<{}>{
|
||||
if(!this.isHaveEnemy()){
|
||||
|
||||
//获取冲到最前面的宠物
|
||||
let roles = this.getOnesRole(GOnHookModePlayerEnum.PLAYER);
|
||||
let roles = this.getOnesRoleAlive(GOnHookModePlayerEnum.PLAYER);
|
||||
let frontRole = roles.sort((role1,role2) => role2.v2World.x - role1.v2World.x)[0];
|
||||
if(!frontRole) return;
|
||||
|
||||
@@ -153,6 +157,10 @@ export default class GOnHookMode extends GBaseMode<{}>{
|
||||
let cameraWorld = this.camera.node.worldPosition.clone();
|
||||
this.camera.node.worldPosition = cameraWorld.lerp(v3(frontRole.v2World.x,cameraWorld.y,cameraWorld.z),(dt / 1000));
|
||||
|
||||
}else{
|
||||
//如果有敌人则移动到战斗位置
|
||||
let cameraWorld = this.camera.node.worldPosition.clone();
|
||||
this.camera.node.worldPosition = cameraWorld.lerp(v3(this.nextFightX,cameraWorld.y,cameraWorld.z),(dt / 1000));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -251,11 +259,8 @@ export default class GOnHookMode extends GBaseMode<{}>{
|
||||
//前往下一个目标
|
||||
onNextTarget(){
|
||||
|
||||
//如果没有敌人则前往
|
||||
if(!this.isHaveEnemy()){
|
||||
//下一个目标点
|
||||
this.nextFightX = this.nextFightX + this.everyX;
|
||||
}
|
||||
//下一个目标点
|
||||
this.nextFightX = this.nextFightX + this.everyX;
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user