mylingo3d
Version:
Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor
32 lines (26 loc) • 996 B
text/typescript
import { applyMixins } from "@lincode/utils"
import { Sprite as ThreeSprite, SpriteMaterial } from "three"
import ObjectManager from "./core/ObjectManager"
import TexturedBasicMixin from "./core/mixins/TexturedBasicMixin"
import ISprite, { spriteDefaults, spriteSchema } from "../interface/ISprite"
const material = new SpriteMaterial({ transparent: true })
class Sprite extends ObjectManager<ThreeSprite> implements ISprite {
public static componentName = "sprite"
public static defaults = spriteDefaults
public static schema = spriteSchema
protected material = material
public constructor() {
super(new ThreeSprite(material))
}
public override get depth() {
return 0
}
public override set depth(_) {}
public override get scaleZ() {
return 0
}
public override set scaleZ(_) {}
}
interface Sprite extends ObjectManager<ThreeSprite>, TexturedBasicMixin {}
applyMixins(Sprite, [TexturedBasicMixin])
export default Sprite