fix: 透明像素遮挡问题

This commit is contained in:
unanmed 2025-11-25 17:49:05 +08:00
parent f8c9a2349c
commit 7fcefd62c4
4 changed files with 12 additions and 15 deletions

View File

@ -292,12 +292,8 @@ export class MapHeroRenderer implements IMapHeroRenderer {
entity.block.useSpecifiedFrame(0); entity.block.useSpecifiedFrame(0);
} }
async waitMoveEnd(waitFollower: boolean): Promise<void> { async waitMoveEnd(): Promise<void> {
if (waitFollower) {
await Promise.all(this.entities.map(v => v.promise)); await Promise.all(this.entities.map(v => v.promise));
return;
}
await this.heroEntity.promise;
this.entities.forEach(v => this.endEntityMoving(v)); this.entities.forEach(v => this.endEntityMoving(v));
} }
@ -485,8 +481,8 @@ class MapHeroHook implements Partial<IHeroStateHooks> {
return this.hero.move(direction, time); return this.hero.move(direction, time);
} }
onEndMove(waitFollower: boolean): Promise<void> { onEndMove(): Promise<void> {
return this.hero.waitMoveEnd(waitFollower); return this.hero.waitMoveEnd();
} }
onJumpHero( onJumpHero(

View File

@ -10,6 +10,9 @@ uniform sampler2DArray u_sampler;
void main() { void main() {
vec4 texColor = texture(u_sampler, v_texCoord.xyz); vec4 texColor = texture(u_sampler, v_texCoord.xyz);
outColor = vec4(texColor.rgb, texColor.a * v_texCoord.a); float alpha = texColor.a * v_texCoord.a;
// todo: 透明像素应该如何解决??
if (alpha < 0.1) discard;
outColor = vec4(texColor.rgb, alpha);
// outColor = vec4(texColor.a * 0.001, v_texCoord.x * 6.0, v_texCoord.y * 0.0, v_texCoord.a); // outColor = vec4(texColor.a * 0.001, v_texCoord.x * 6.0, v_texCoord.y * 0.0, v_texCoord.a);
} }

View File

@ -58,11 +58,11 @@ export class HeroState extends Hookable<IHeroStateHooks> implements IHeroState {
this.y += y; this.y += y;
} }
async endMove(waitFollower: boolean = false): Promise<void> { async endMove(): Promise<void> {
if (!this.moving) return; if (!this.moving) return;
await Promise.all( await Promise.all(
this.forEachHook(hook => { this.forEachHook(hook => {
return hook.onEndMove?.(waitFollower); return hook.onEndMove?.();
}) })
); );
this.moving = false; this.moving = false;

View File

@ -47,9 +47,8 @@ export interface IHeroStateHooks extends IHookBase {
/** /**
* *
* @param waitFollower
*/ */
onEndMove(waitFollower: boolean): Promise<void>; onEndMove(): Promise<void>;
/** /**
* *
@ -146,10 +145,9 @@ export interface IHeroState extends IHookable<IHeroStateHooks> {
/** /**
* *
* @param waitFollower
* @returns `Promise` * @returns `Promise`
*/ */
endMove(waitFollower?: boolean): Promise<void>; endMove(): Promise<void>;
/** /**
* *