Prepare for animated collectable
This commit is contained in:
		
							parent
							
								
									5ea3d760f0
								
							
						
					
					
						commit
						160fd77322
					
				@ -4,6 +4,17 @@ class Collectable {
 | 
				
			|||||||
        this.x = x;
 | 
					        this.x = x;
 | 
				
			||||||
        this.y = y;
 | 
					        this.y = y;
 | 
				
			||||||
        this.collected = false;
 | 
					        this.collected = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        this.frameNumber = 0;
 | 
				
			||||||
 | 
					        this.maxFrame = 0;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    update(time = 0.02) {
 | 
				
			||||||
 | 
					        this.frameNumber++;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (this.frameNumber >= this.maxFrame) {
 | 
				
			||||||
 | 
					            this.frameNumber = 0;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										11
									
								
								src/scene.js
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								src/scene.js
									
									
									
									
									
								
							@ -55,12 +55,6 @@ class Scene extends Screen {
 | 
				
			|||||||
        // The the line for the high score
 | 
					        // The the line for the high score
 | 
				
			||||||
        this.currentMaxHeight = this.maxHeight;
 | 
					        this.currentMaxHeight = this.maxHeight;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // Generate random initial platforms
 | 
					 | 
				
			||||||
        // for (let i = 0.25; i <= 2; i += 0.33) {
 | 
					 | 
				
			||||||
        //     let platform = new Platform(Math.random(), i, 0.2);
 | 
					 | 
				
			||||||
        //     this.addPlatform(platform);
 | 
					 | 
				
			||||||
        // }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    start() {
 | 
					    start() {
 | 
				
			||||||
@ -198,6 +192,9 @@ class Scene extends Screen {
 | 
				
			|||||||
        // Collisions with the border of the screen
 | 
					        // Collisions with the border of the screen
 | 
				
			||||||
        this.player.x = Math.max(this.player.x, this.player.size / 4);
 | 
					        this.player.x = Math.max(this.player.x, this.player.size / 4);
 | 
				
			||||||
        this.player.x = Math.min(this.player.x, 1 - this.player.size / 4);
 | 
					        this.player.x = Math.min(this.player.x, 1 - this.player.size / 4);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Update coin frames
 | 
				
			||||||
 | 
					        this.collectables.map((c) => c.update(time));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    addPlatform(object) {
 | 
					    addPlatform(object) {
 | 
				
			||||||
@ -239,7 +236,7 @@ class Scene extends Screen {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            this.context.drawImage(
 | 
					            this.context.drawImage(
 | 
				
			||||||
                Collectable.texture,
 | 
					                Collectable.texture,
 | 
				
			||||||
                0, 0, 64, 64,
 | 
					                0, 64 * object.frameNumber, 64, 64,
 | 
				
			||||||
                (object.x - object.size / 2) * this.width(),
 | 
					                (object.x - object.size / 2) * this.width(),
 | 
				
			||||||
                (1 - object.y) * this.height() - size / 2,
 | 
					                (1 - object.y) * this.height() - size / 2,
 | 
				
			||||||
                size, size
 | 
					                size, size
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user