Skip to content

Commit

Permalink
Merge pull request #6 from keguigong/dev
Browse files Browse the repository at this point in the history
Now can adjust dimensions when window resizes
keguigong authored Nov 19, 2023

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
2 parents 4c6375d + 8f6269c commit f2713a3
Showing 12 changed files with 198 additions and 146 deletions.
44 changes: 0 additions & 44 deletions game-utils/SpriteDefinition.ts

This file was deleted.

File renamed without changes.
File renamed without changes.
File renamed without changes.
24 changes: 13 additions & 11 deletions game-utils/HorizonLine.ts → game/HorizonLine.ts
Original file line number Diff line number Diff line change
@@ -5,26 +5,28 @@ export default class HorizonLine {
canvas!: HTMLCanvasElement
ctx!: CanvasRenderingContext2D

sourceDimensions = { ...HorizonLine.dimensions }
dimensions = HorizonLine.dimensions
sourceDimensions!: Dimensions
dimensions!: Dimensions
spritePos!: Position
sourceXPos = [0, HorizonLine.dimensions.WIDTH]
xPos: number[] = []
yPos = 0
bumpThreshold = 0.5
sourceXPos!: number[]
xPos!: number[]
yPos!: number
bumpThreshold!: number

constructor(canvas: HTMLCanvasElement, spritePos: Position) {
this.canvas = canvas
this.ctx = canvas.getContext("2d") as CanvasRenderingContext2D
this.sourceDimensions = { ...HorizonLine.dimensions }
this.dimensions = HorizonLine.dimensions

this.spritePos = spritePos
this.sourceXPos = [0, HorizonLine.dimensions.WIDTH]
this.xPos = []
this.yPos = 0
this.bumpThreshold = 0.5

this.init()
this.draw()
}

private init() {
this.setSourceDimensions()
this.draw()
}

private setSourceDimensions() {
14 changes: 6 additions & 8 deletions game-utils/Obstacle.ts → game/Obstacle.ts
Original file line number Diff line number Diff line change
@@ -5,19 +5,19 @@ export default class Obstacle {
canvas!: HTMLCanvasElement
ctx!: CanvasRenderingContext2D

typeConfig!: ConfigDict
spritePos!: Position
typeConfig!: ConfigDict
gapCoefficient!: number
dimensions!: Dimensions
// 每组障碍物的数量(随机 1~3 个)
size!: number
dimensions!: Dimensions
remove!: boolean
xPos!: number
yPos!: number
width!: number

remove!: boolean
gap!: number
speedOffset!: number

currentFrame!: number
timer!: number

@@ -37,15 +37,13 @@ export default class Obstacle {
this.spritePos = spritePos
this.typeConfig = type
this.gapCoefficient = gapCoefficient
this.dimensions = dimensions

// #obstacles in each obstacle group
this.size = getRandomNum(1, Obstacle.MAX_OBSTACLE_LENGTH)

this.dimensions = dimensions
this.remove = false
this.xPos = dimensions.WIDTH + (optXOffset || 0)
this.yPos = 0

this.remove = false
this.gap = 0
this.speedOffset = 0

Loading

0 comments on commit f2713a3

Please sign in to comment.