恐龙跳一跳是一款非常经典的小游戏,采用Javascript编程语言实现。下面是恐龙跳一跳的代码,包含了游戏初始化、游戏运行、碰撞检测等功能。
首先,我们需要创建一个画布,表示游戏的画面:
```javascript
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
```
然后,我们需要创建恐龙角色,并设置其初始位置和尺寸:
```javascript
var dino = {
x: 50,
y: canvas.height - 50,
width: 50,
height: 50,
jumping: false,
jumpHeight: 100
};
```
接下来,我们需要监听玩家的键盘输入,以控制恐龙的跳跃:
```javascript
document.addEventListener("keydown", function(event) {
if (event.keyCode === 32) {
// 如果恐龙没有在跳跃中
if (!dino.jumping) {
dino.jumping = true;
jump();
}
}
});
```
然后,我们需要实现恐龙的跳跃动画效果:
```javascript
function jump() {
var interval = setInterval(function() {
// 恐龙上升
dino.y -= 5;
// 当恐龙到达点时,开始下降
if (dino.y <= canvas.height - dino.jumpHeight) {
clearInterval(interval);
fall();
}
}, 10);
}
function fall() {
var interval = setInterval(function() {
// 恐龙下降
dino.y += 5;
// 当恐龙回到地面时,停止下降
if (dino.y >= canvas.height - dino.height) {
clearInterval(interval);
dino.jumping = false;
}
}, 10);
}
```
接着,我们需要创建障碍物,并设置其初始位置和尺寸,以及移动速度:
```javascript
var obstacle = {
x: canvas.width,
y: canvas.height - 50,
width: 50,
height: 50,
speed: 2
};
```
然后,我们需要实现障碍物的移动和绘制:
```javascript
function moveObstacle() {
obstacle.x -= obstacle.speed;
// 当障碍物超出画布时,重新设置其位置
if (obstacle.x + obstacle.width < 0) {
obstacle.x = canvas.width;
}
}
function drawObstacle() {
ctx.fillStyle = "red";
ctx.fillRect(obstacle.x, obstacle.y, obstacle.width, obstacle.height);
}
```
最后,我们需要实现碰撞检测,以判断恐龙是否与障碍物发生碰撞:
```javascript
function checkCollision() {
if (dino.x + dino.width > obstacle.x && dino.x < obstacle.x + obstacle.width &&
dino.y + dino.height > obstacle.y && dino.y < obstacle.y + obstacle.height) {
// 游戏结束
gameOver();
}
}
function gameOver() {
alert("Game Over");
reset();
}
function reset() {
obstacle.x = canvas.width;
dino.y = canvas.height - dino.height;
}
```
最后,我们需要实现游戏的主循环,以不断更新游戏的状态和画面:
```javascript
function gameLoop() {
ctx.clearRect(0, 0, canvas.width, canvas.height);
moveObstacle();
drawObstacle();
checkCollision();
ctx.fillStyle = "black";
ctx.fillRect(dino.x, dino.y, dino.width, dino.height);
requestAnimationFrame(gameLoop);
}
gameLoop();
```
以上就是恐龙跳一跳的代码实现。这个游戏简单有趣,希望你能喜欢!
声明:免责声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,也不承认相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,请发送邮件至:dm@cn86.cn进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。本站原创内容未经允许不得转载。