From 48586fa859dd4d9b74777f998417cc3da43e4eda Mon Sep 17 00:00:00 2001 From: core Date: Mon, 27 Nov 2023 21:01:45 -0500 Subject: [PATCH] functional pixijs rendering --- starkingdoms-client/src/rendering.ts | 46 ++++++++++++++++++++-------- 1 file changed, 34 insertions(+), 12 deletions(-) diff --git a/starkingdoms-client/src/rendering.ts b/starkingdoms-client/src/rendering.ts index 7b75d0977071f4bd53a8ef934e94f2ffd18a61a9..a0c7f9ca82c58889bf412b083dd2db222a814d11 100644 --- a/starkingdoms-client/src/rendering.ts +++ b/starkingdoms-client/src/rendering.ts @@ -34,12 +34,31 @@ export function startRender() { part_sprite_map: new Map(), }; - app.stage.scale.set(0.4, 0.4); - app.ticker.add(() => { - let camera_x = -player()?.transform.x!; - let camera_y = -player()?.transform.y!; - // RENDER STAGE 1: UPDATE SPRITES + global.rendering!.app.stage.x = + -player()?.transform.x! + window.innerWidth / 2; + global.rendering!.app.stage.y = + -player()?.transform.y! + window.innerHeight / 2; + + for (let [id, part] of global.parts_map) { + let part_sprite; + + if (global.rendering!.part_sprite_map.has(id)) { + part_sprite = global.rendering!.part_sprite_map.get(id)!; + } else { + part_sprite = PIXI.Sprite.from(part_texture_url(part.part_type)); + global.rendering!.part_sprite_map.set(id, part_sprite); + console.log("adding part sprite"); + global.rendering!.app.stage.addChild(part_sprite); + } + + part_sprite.anchor.set(0.5); + part_sprite.height = PART_HEIGHT; + part_sprite.width = PART_WIDTH; + part_sprite.x = part.transform.x; + part_sprite.y = part.transform.y; + part_sprite.rotation = part.transform.rot; + } for (let [id, planet] of global.planets_map) { let planet_sprite; @@ -50,18 +69,19 @@ export function startRender() { planet_texture_url(planet.planet_type), ); global.rendering!.planet_sprite_map.set(id, planet_sprite); - global.rendering!.app.stage.addChild(planet_sprite); console.log("adding planet sprite"); + global.rendering!.app.stage.addChild(planet_sprite); } - console.log(planet); + planet_sprite.anchor.set(0.5); planet_sprite.height = planet.radius * 2; planet_sprite.width = planet.radius * 2; - planet_sprite.x = planet.transform.x - planet.radius - camera_x; - planet_sprite.y = planet.transform.y - planet.radius - camera_y; + planet_sprite.x = planet.transform.x; + planet_sprite.y = planet.transform.y; planet_sprite.rotation = planet.transform.rot; } - // RENDER STAGE 2: UPDATE PARTS + /* + // RENDER STAGE 1: UPDATE PARTS for (let [id, part] of global.parts_map) { let part_sprite; @@ -76,9 +96,11 @@ export function startRender() { part_sprite.height = PART_HEIGHT; part_sprite.width = PART_WIDTH; - part_sprite.x = part.transform.x - PART_WIDTH - camera_x; - part_sprite.y = part.transform.y - PART_HEIGHT - camera_y; + part_sprite.x = part.transform.x - PART_WIDTH; + part_sprite.y = part.transform.y - PART_HEIGHT; part_sprite.rotation = part.transform.rot; } + + */ }); }