@drincs/pixi-vn
Version:
Pixi'VN is a npm package that provides various features for creating visual novels.
100 lines (97 loc) • 3.81 kB
TypeScript
import { Texture, TextureSourceLike, TextureSource, PointData, ObservablePoint } from 'pixi.js';
import { ImageSpriteOptions } from '../../interface/canvas/canvas-options.js';
import AdditionalPositionsExtension from './AdditionalPositions.js';
import Sprite from './Sprite.js';
import ImageSpriteMemory from '../../interface/canvas/memory/ImageSpriteMemory.js';
import './AnchorExtension.js';
import '../../types/ContainerChild.js';
import './CanvasBaseItem.js';
import '../../interface/canvas/memory/CanvasBaseItemMemory.js';
import '../../types/CanvasEventNamesType.js';
import '../CanvasEvent.js';
import '../../types/EventIdType.js';
import '../../interface/canvas/memory/SpriteMemory.js';
import '../../interface/canvas/TextureMemory.js';
/**
* This class is a extension of the {@link Sprite} class, it has the same properties and methods,
* but it has some features that make texture management easier.
* You need to use {@link ImageSprite.load()} to show the image in the canvas.
* This class is used for functions like {@link addImage} and {@link showWithDissolve}.
* @example
* ```typescript
* let alien = new ImageSprite({
* anchor: { x: 0.5, y: 0.5 },
* x: 100,
* y: 100,
* }, 'https://pixijs.com/assets/eggHead.png')
* await alien.load()
* canvas.add("alien", alien)
* ```
* @example
* ```typescript
* let alien = addImage("alien", 'https://pixijs.com/assets/eggHead.png')
* alien.anchor.set(0.5);
* alien.x = 100
* alien.y = 100
* await alien.load()
* ```
*/
declare class ImageSprite<Memory extends ImageSpriteMemory = ImageSpriteMemory> extends Sprite<Memory> implements AdditionalPositionsExtension {
pixivnId: string;
constructor(options?: ImageSpriteOptions | Texture | undefined, textureAlias?: string);
get memory(): ImageSpriteMemory;
set memory(_value: ImageSpriteMemory);
setMemory(value: ImageSpriteMemory): Promise<void>;
static from(source: Texture | TextureSourceLike, skipCache?: boolean): ImageSprite<ImageSpriteMemory>;
private _loadIsStarted;
get loadIsStarted(): boolean;
/**
* Load the image from the link and set the texture of the sprite.
* @returns A promise that resolves when the image is loaded.
*/
load(): Promise<void>;
set texture(value: Texture<TextureSource<any>>);
get texture(): Texture<TextureSource<any>>;
/**
* Check if the texture is empty.
* @returns A boolean that is true if the texture is empty.
*/
get haveEmptyTexture(): boolean;
/** AdditionalPositions */
private _align;
set align(value: Partial<PointData> | number);
get align(): Partial<PointData> | number;
set xAlign(value: number);
get xAlign(): number;
set yAlign(value: number);
get yAlign(): number;
private _percentagePosition;
set percentagePosition(value: Partial<PointData> | number);
get percentagePosition(): Partial<PointData> | number;
get xPercentagePosition(): number;
set xPercentagePosition(_value: number);
get yPercentagePosition(): number;
set yPercentagePosition(_value: number);
get positionType(): "pixel" | "percentage" | "align";
get positionInfo(): {
x: number;
y: number;
type: "pixel" | "percentage" | "align";
};
set positionInfo(value: {
x: number;
y: number;
type?: "pixel" | "percentage" | "align";
});
private reloadPosition;
get position(): ObservablePoint;
set position(value: ObservablePoint);
get x(): number;
set x(value: number);
get y(): number;
set y(value: number);
}
declare function setMemoryImageSprite(element: ImageSprite, memory: ImageSpriteMemory | {}, options?: {
ignoreTexture?: boolean;
}): Promise<void>;
export { ImageSprite as default, setMemoryImageSprite };