Compare commits

..

1 Commits

Author SHA1 Message Date
AncTe
fe9c4f26ba
Merge 8fe12634b0 into 820dc5bf4c 2025-11-22 15:49:15 +00:00
3 changed files with 4 additions and 34 deletions

View File

@ -2,7 +2,6 @@ import {
degradeFace, degradeFace,
FaceDirection, FaceDirection,
getFaceMovement, getFaceMovement,
HeroAnimateDirection,
IHeroState, IHeroState,
IHeroStateHooks, IHeroStateHooks,
IMapLayer, IMapLayer,
@ -49,8 +48,6 @@ interface HeroRenderEntity {
animateFrame: number; animateFrame: number;
/** 移动的 `Promise`,移动完成时兑现,如果停止,则一直是兑现状态 */ /** 移动的 `Promise`,移动完成时兑现,如果停止,则一直是兑现状态 */
promise: Promise<void>; promise: Promise<void>;
/** 勇士移动的动画方向 */
animateDirection: HeroAnimateDirection;
} }
export class MapHeroRenderer implements IMapHeroRenderer { export class MapHeroRenderer implements IMapHeroRenderer {
@ -93,8 +90,7 @@ export class MapHeroRenderer implements IMapHeroRenderer {
animateInterval: 0, animateInterval: 0,
lastAnimateTime: 0, lastAnimateTime: 0,
animateFrame: 0, animateFrame: 0,
promise: Promise.resolve(), promise: Promise.resolve()
animateDirection: HeroAnimateDirection.Forward
}; };
this.heroEntity = heroEntity; this.heroEntity = heroEntity;
this.entities.push(heroEntity); this.entities.push(heroEntity);
@ -167,15 +163,7 @@ export class MapHeroRenderer implements IMapHeroRenderer {
} }
const dt = time - v.lastAnimateTime; const dt = time - v.lastAnimateTime;
if (dt > v.animateInterval) { if (dt > v.animateInterval) {
if (v.animateDirection === HeroAnimateDirection.Forward) { v.animateFrame++;
v.animateFrame++;
} else {
v.animateFrame--;
if (v.animateFrame < 0) {
// 小于 0则加上帧数的整数倍就写个 10000 倍吧
v.animateFrame += v.block.texture.frames * 10000;
}
}
v.lastAnimateTime = time; v.lastAnimateTime = time;
v.block.useSpecifiedFrame(v.animateFrame); v.block.useSpecifiedFrame(v.animateFrame);
} }
@ -363,8 +351,7 @@ export class MapHeroRenderer implements IMapHeroRenderer {
animateInterval: 0, animateInterval: 0,
lastAnimateTime: 0, lastAnimateTime: 0,
animateFrame: 0, animateFrame: 0,
promise: Promise.resolve(), promise: Promise.resolve()
animateDirection: HeroAnimateDirection.Forward
}; };
this.entities.push(entity); this.entities.push(entity);
} }
@ -422,10 +409,6 @@ export class MapHeroRenderer implements IMapHeroRenderer {
follower.block.setAlpha(alpha); follower.block.setAlpha(alpha);
} }
setHeroAnimateDirection(direction: HeroAnimateDirection): void {
this.heroEntity.animateDirection = direction;
}
destroy() { destroy() {
this.controller.unload(); this.controller.unload();
} }

View File

@ -1,5 +1,5 @@
import { ITexture } from '@motajs/render-assets'; import { ITexture } from '@motajs/render-assets';
import { FaceDirection, HeroAnimateDirection } from '@user/data-state'; import { FaceDirection } from '@user/data-state';
export interface IMapHeroRenderer { export interface IMapHeroRenderer {
/** /**
@ -82,12 +82,6 @@ export interface IMapHeroRenderer {
*/ */
setFollowerAlpha(identifier: string, alpha: number): void; setFollowerAlpha(identifier: string, alpha: number): void;
/**
* 退使使
* @param direction
*/
setHeroAnimateDirection(direction: HeroAnimateDirection): void;
/** /**
* *
*/ */

View File

@ -1,13 +1,6 @@
import { IHookBase, IHookable } from '@motajs/common'; import { IHookBase, IHookable } from '@motajs/common';
import { FaceDirection } from '../common/types'; import { FaceDirection } from '../common/types';
export const enum HeroAnimateDirection {
/** 正向播放动画 */
Forward,
/** 反向播放动画 */
Backward
}
export interface IHeroFollower { export interface IHeroFollower {
/** 跟随者的图块数字 */ /** 跟随者的图块数字 */
readonly num: number; readonly num: number;