Pixi v7 works

This commit is contained in:
Bill 2023-07-19 21:57:35 -04:00
parent 346b2092b4
commit 5c8f39ec1e
4 changed files with 9 additions and 24 deletions

View File

@ -63,7 +63,6 @@ export class Nitro implements INitro
autoDensity: false, autoDensity: false,
width: window.innerWidth, width: window.innerWidth,
height: window.innerHeight, height: window.innerHeight,
resolution: window.devicePixelRatio,
view: canvas view: canvas
}); });
} }

View File

@ -396,12 +396,6 @@ export class RoomLogic extends RoomObjectLogicBase
if(((((planePosition.x >= 0) && (planePosition.x < leftSideLength)) && (planePosition.y >= 0)) && (planePosition.y < rightSideLength))) if(((((planePosition.x >= 0) && (planePosition.x < leftSideLength)) && (planePosition.y >= 0)) && (planePosition.y < rightSideLength)))
{ {
console.log('found plane', `
tileX: ${ tileX }
tileY: ${ tileY }
tileZ: ${ tileZ }
leftSideLength: ${ leftSideLength }
rightSideLength: ${ rightSideLength }`);
this.object.model.setValue(RoomObjectVariable.ROOM_SELECTED_X, tileX); this.object.model.setValue(RoomObjectVariable.ROOM_SELECTED_X, tileX);
this.object.model.setValue(RoomObjectVariable.ROOM_SELECTED_Y, tileY); this.object.model.setValue(RoomObjectVariable.ROOM_SELECTED_Y, tileY);
this.object.model.setValue(RoomObjectVariable.ROOM_SELECTED_Z, tileZ); this.object.model.setValue(RoomObjectVariable.ROOM_SELECTED_Z, tileZ);
@ -409,12 +403,6 @@ export class RoomLogic extends RoomObjectLogicBase
} }
else else
{ {
console.log('no found plane', `
tileX: ${ tileX }
tileY: ${ tileY }
tileZ: ${ tileZ }
leftSideLength: ${ leftSideLength }
rightSideLength: ${ rightSideLength }`);
this.object.model.setValue(RoomObjectVariable.ROOM_SELECTED_PLANE, 0); this.object.model.setValue(RoomObjectVariable.ROOM_SELECTED_PLANE, 0);
return; return;

View File

@ -829,7 +829,7 @@ export class RoomSpriteCanvas implements IRoomRenderingCanvas
{ {
const extendedSprite = this.getExtendedSprite(spriteId); const extendedSprite = this.getExtendedSprite(spriteId);
if(extendedSprite && extendedSprite.containsPoint(new Point((x - extendedSprite.x), (y - extendedSprite.y)))) if(extendedSprite && extendedSprite.containsPixelPerfectPoint(new Point((x - extendedSprite.x), (y - extendedSprite.y))))
{ {
if(extendedSprite.clickHandling && ((type === MouseEventType.MOUSE_CLICK) || (type === MouseEventType.DOUBLE_CLICK))) if(extendedSprite.clickHandling && ((type === MouseEventType.MOUSE_CLICK) || (type === MouseEventType.DOUBLE_CLICK)))
{ {

View File

@ -65,26 +65,24 @@ export class ExtendedSprite extends Sprite
public containsPoint(point: Point): boolean public containsPoint(point: Point): boolean
{ {
return ExtendedSprite.containsPoint(this, point); return this.containsPixelPerfectPoint(point);
} }
public static containsPoint(sprite: ExtendedSprite, point: Point): boolean public containsPixelPerfectPoint(point: Point): boolean
{ {
if(!sprite || !point || (sprite.alphaTolerance > 255)) return false; if(!point || (this.alphaTolerance > 255)) return false;
if(!(sprite instanceof Sprite)) return false; if((this.texture === Texture.EMPTY) || (this.blendMode !== BLEND_MODES.NORMAL)) return;
if((sprite.texture === Texture.EMPTY) || (sprite.blendMode !== BLEND_MODES.NORMAL)) return; const texture = this.texture;
const texture = sprite.texture;
const baseTexture = texture.baseTexture; const baseTexture = texture.baseTexture;
if(!texture || !baseTexture || !baseTexture.valid) return false; if(!texture || !baseTexture || !baseTexture.valid) return false;
const x = (point.x * sprite.scale.x); const x = (point.x * this.scale.x);
const y = (point.y * sprite.scale.y); const y = (point.y * this.scale.y);
if(!sprite.getLocalBounds().contains(x, y)) return false; if(!this.getLocalBounds().contains(x, y)) return false;
//@ts-ignore //@ts-ignore
if(!baseTexture.hitMap) if(!baseTexture.hitMap)