improved Obstacle constructor
This commit is contained in:
parent
eff60389d4
commit
ad50d14f8a
2 changed files with 20 additions and 20 deletions
|
|
@ -12,30 +12,28 @@ function setup() {
|
||||||
backgroundImage = loadImage(backgroundImagePath);
|
backgroundImage = loadImage(backgroundImagePath);
|
||||||
|
|
||||||
createCanvas(1000, 1000);
|
createCanvas(1000, 1000);
|
||||||
obstacleOffset = width / 4;
|
obstacleOffset = width / 3;
|
||||||
|
|
||||||
raspberry = new Raspberry();
|
raspberry = new Raspberry();
|
||||||
raspberry.image = raspberryImagePath;
|
raspberry.image = raspberryImagePath;
|
||||||
|
|
||||||
obstacles.push(new Obstacle(
|
obstacles.push(new Obstacle(
|
||||||
new Pipe(width, obstacleWidth, height),
|
new Position(width, 0),
|
||||||
new Pipe(width, obstacleWidth, height),
|
obstacleWidth,
|
||||||
pipeImagePath
|
height,
|
||||||
|
pipeImagePath,
|
||||||
));
|
));
|
||||||
obstacles.push(new Obstacle(
|
obstacles.push(new Obstacle(
|
||||||
new Pipe(width + obstacleOffset, obstacleWidth, height),
|
new Position(width + obstacleOffset, 0),
|
||||||
new Pipe(width + obstacleOffset, obstacleWidth, height),
|
obstacleWidth,
|
||||||
pipeImagePath
|
height,
|
||||||
|
pipeImagePath,
|
||||||
));
|
));
|
||||||
obstacles.push(new Obstacle(
|
obstacles.push(new Obstacle(
|
||||||
new Pipe(width + obstacleOffset * 2, obstacleWidth, height),
|
new Position(width + obstacleOffset * 2, 0),
|
||||||
new Pipe(width + obstacleOffset * 2, obstacleWidth, height),
|
obstacleWidth,
|
||||||
pipeImagePath
|
height,
|
||||||
));
|
pipeImagePath,
|
||||||
obstacles.push(new Obstacle(
|
|
||||||
new Pipe(width + obstacleOffset * 3, obstacleWidth, height),
|
|
||||||
new Pipe(width + obstacleOffset * 3, obstacleWidth, height),
|
|
||||||
pipeImagePath
|
|
||||||
));
|
));
|
||||||
|
|
||||||
obstacles.forEach((obstacle) => obstacle.resetPosition(false));
|
obstacles.forEach((obstacle) => obstacle.resetPosition(false));
|
||||||
|
|
@ -50,7 +48,8 @@ function draw() {
|
||||||
obstacle.draw();
|
obstacle.draw();
|
||||||
obstacle.update();
|
obstacle.update();
|
||||||
|
|
||||||
if(obstacle.position.x < -obstacleWidth) {
|
// console.log(obstacle.position.x);
|
||||||
|
if(obstacle.position.x <= -obstacleWidth) {
|
||||||
obstacle.resetPosition(true);
|
obstacle.resetPosition(true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -11,10 +11,10 @@ class Obstacle extends Entity {
|
||||||
* Constructs the Obstacle using the top and bottom Pipe
|
* Constructs the Obstacle using the top and bottom Pipe
|
||||||
* (fill is not used here)
|
* (fill is not used here)
|
||||||
*/
|
*/
|
||||||
constructor(pipeTop: Pipe, pipeBottom: Pipe, pipeImagePath: string) {
|
constructor(position: Position, obstacleWidth: number, obstacleHeight: number, pipeImagePath: string) {
|
||||||
super(pipeTop.position, pipeTop.width, pipeBottom.height, 0);
|
super(position, obstacleWidth, obstacleHeight, 0);
|
||||||
this.pipeTop = pipeTop;
|
this.pipeTop = new Pipe(position.x, obstacleWidth, obstacleHeight);
|
||||||
this.pipeBottom = pipeBottom;
|
this.pipeBottom = new Pipe(position.x, obstacleWidth, obstacleHeight);
|
||||||
this.pipeTop.image = pipeImagePath;
|
this.pipeTop.image = pipeImagePath;
|
||||||
this.pipeBottom.image = pipeImagePath;
|
this.pipeBottom.image = pipeImagePath;
|
||||||
|
|
||||||
|
|
@ -42,6 +42,7 @@ class Obstacle extends Entity {
|
||||||
public update(): void {
|
public update(): void {
|
||||||
this.pipeTop.position.x -= this.speed;
|
this.pipeTop.position.x -= this.speed;
|
||||||
this.pipeBottom.position.x -= this.speed;
|
this.pipeBottom.position.x -= this.speed;
|
||||||
|
this.position.x = this.pipeTop.position.x;
|
||||||
}
|
}
|
||||||
|
|
||||||
public draw(): void {
|
public draw(): void {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue