Grid item height tweaking
This commit is contained in:
parent
b37ab048cd
commit
b20f2760d4
@ -1,8 +1,9 @@
|
|||||||
import {Color, Point, Size} from "./engine/datatypes.ts";
|
import {Color, Point, Rect, Size} from "./engine/datatypes.ts";
|
||||||
import {D} from "./engine/public.ts";
|
import {D} from "./engine/public.ts";
|
||||||
|
|
||||||
export const FLOOR_CELL_SIZE: Size = new Size(48, 48)
|
export const FLOOR_CELL_SIZE: Size = new Size(40, 40)
|
||||||
export const CEILING_CELL_SIZE: Size = new Size(52, 52)
|
export const CEILING_CELL_SIZE: Size = new Size(52, 52)
|
||||||
|
export const HEIGHT_IN_FEET = 12;
|
||||||
export const CENTER = new Point(192, 192);
|
export const CENTER = new Point(192, 192);
|
||||||
export const MOULDING_SZ = new Size(1, 1);
|
export const MOULDING_SZ = new Size(1, 1);
|
||||||
|
|
||||||
@ -27,6 +28,10 @@ export class GridArt {
|
|||||||
this.#ceilingBr = at.offset(new Point(0.5, 0.5)).scale(CEILING_CELL_SIZE).offset(CENTER);
|
this.#ceilingBr = at.offset(new Point(0.5, 0.5)).scale(CEILING_CELL_SIZE).offset(CENTER);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get floorRect(): Rect {
|
||||||
|
return new Rect(this.#floorTl, this.#floorBr.subtract(this.#floorTl))
|
||||||
|
}
|
||||||
|
|
||||||
drawFloor(color: Color) {
|
drawFloor(color: Color) {
|
||||||
D.fillRect(this.#floorTl, this.#floorBr.subtract(this.#floorTl), color);
|
D.fillRect(this.#floorTl, this.#floorBr.subtract(this.#floorTl), color);
|
||||||
}
|
}
|
||||||
@ -122,6 +127,14 @@ export class GridArt {
|
|||||||
drawCeiling(color: Color) {
|
drawCeiling(color: Color) {
|
||||||
D.fillRect(this.#ceilingTl, this.#ceilingBr.subtract(this.#ceilingTl), color);
|
D.fillRect(this.#ceilingTl, this.#ceilingBr.subtract(this.#ceilingTl), color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
project(z: number): Point {
|
||||||
|
let z2 = z / HEIGHT_IN_FEET;
|
||||||
|
return new Point(
|
||||||
|
lerp(z2, this.#floorCenter.x, this.#ceilingCenter.x),
|
||||||
|
lerp(z2, this.#floorCenter.y, this.#ceilingCenter.y),
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let lerp = (amt: number, x: number, y: number) => {
|
let lerp = (amt: number, x: number, y: number) => {
|
||||||
|
@ -151,18 +151,11 @@ export class HuntMode {
|
|||||||
const OFFSET_AIR = 0;
|
const OFFSET_AIR = 0;
|
||||||
const OFFSET_TOP = 256;
|
const OFFSET_TOP = 256;
|
||||||
const OFFSET_TOP_OF_TOP = 512;
|
const OFFSET_TOP_OF_TOP = 512;
|
||||||
const cellSizeFloor = new Size(48, 48);
|
|
||||||
const cellSizeCeiling = new Size(52, 52);
|
|
||||||
|
|
||||||
const floorZone = offsetInCells.scale(cellSizeFloor).offset(new Point(192, 192));
|
|
||||||
|
|
||||||
const gridArt = new GridArt(offsetInCells);
|
const gridArt = new GridArt(offsetInCells);
|
||||||
|
|
||||||
let cellData = this.map.get(mapPosition)
|
let cellData = this.map.get(mapPosition)
|
||||||
|
|
||||||
let cellTopLeft = floorZone.offset(new Size(-cellSizeFloor.w / 2, -cellSizeCeiling.h / 2));
|
|
||||||
let cellSize = FLOOR_CELL_SIZE;
|
|
||||||
|
|
||||||
this.drawpile.add(
|
this.drawpile.add(
|
||||||
OFFSET_UNDER_FLOOR,
|
OFFSET_UNDER_FLOOR,
|
||||||
() => {
|
() => {
|
||||||
@ -198,7 +191,7 @@ export class HuntMode {
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
},
|
},
|
||||||
new Rect(cellTopLeft, cellSize),
|
gridArt.floorRect,
|
||||||
cost != null && cost <= getPlayerProgress().getBlood(),
|
cost != null && cost <= getPlayerProgress().getBlood(),
|
||||||
() => {
|
() => {
|
||||||
if (cost != null) {
|
if (cost != null) {
|
||||||
@ -247,12 +240,10 @@ export class HuntMode {
|
|||||||
if (pickup != null) {
|
if (pickup != null) {
|
||||||
let statIndex = ALL_STATS.indexOf(pickup as Stat);
|
let statIndex = ALL_STATS.indexOf(pickup as Stat);
|
||||||
if (statIndex != -1) {
|
if (statIndex != -1) {
|
||||||
let extraXOffset = 0; // Math.cos(this.frame / 80 + mapPosition.x + mapPosition.y) * 1;
|
|
||||||
let extraYOffset = Math.sin(this.frame / 50 + mapPosition.x * 2 + mapPosition.y * 0.75) * 6;
|
|
||||||
this.drawpile.add(OFFSET_AIR, () => {
|
this.drawpile.add(OFFSET_AIR, () => {
|
||||||
D.drawSprite(
|
D.drawSprite(
|
||||||
sprStatPickup,
|
sprStatPickup,
|
||||||
floorZone.offset(new Point(extraXOffset, extraYOffset)),
|
gridArt.project(5),
|
||||||
statIndex,
|
statIndex,
|
||||||
{
|
{
|
||||||
xScale: 2,
|
xScale: 2,
|
||||||
@ -266,7 +257,7 @@ export class HuntMode {
|
|||||||
this.drawpile.add(OFFSET_AIR, () => {
|
this.drawpile.add(OFFSET_AIR, () => {
|
||||||
D.drawSprite(
|
D.drawSprite(
|
||||||
sprResourcePickup,
|
sprResourcePickup,
|
||||||
floorZone.offset(new Point(0, -16)),
|
gridArt.project(0.0).offset(new Point(0, -16)),
|
||||||
0,
|
0,
|
||||||
{
|
{
|
||||||
xScale: 2,
|
xScale: 2,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user