返回顶部
首页 > 资讯 > 前端开发 > html >怎么用html5实现乒乓球游戏
  • 691
分享到

怎么用html5实现乒乓球游戏

2024-04-02 19:04:59 691人浏览 安东尼
摘要

这篇文章主要讲解了“怎么用HTML5实现乒乓球游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用html5实现乒乓球游戏”吧!演示地址Http://k

这篇文章主要讲解了“怎么用HTML5实现乒乓球游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用html5实现乒乓球游戏”吧!

怎么用html5实现乒乓球游戏

演示地址

Http://koking.8u.hanmandarin.com/html5/1.html

简单介绍

小球可以在方框内部自由运动
可以通过方向键控制黑色砖块上下左右移动去与小球发生碰撞

代码实现

代码如下:


<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html>
<html>
<head>
<title>乒乓球游戏</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script>
var ctx;
var canvas;
var ball_x=10;
var ball_y=10;
var ball_radius=10;
var ball_vx=10;
var ball_vy=8;
var wall_x=30;
var wall_y=40;
var wall_width=30;
var wall_height=60;
var box_x=0;
var box_y=0;
var box_width=300;
var box_height=300;
var bound_left=box_x+ball_radius;
var bound_right=box_x+box_width-ball_radius;
var bound_top=box_y+ball_radius;
var bound_bottom=box_y+box_height-ball_radius;
var unit=10;
function intersect(sx, sy, fx, fy, cx, cy, rad)
{
var dx;
var dy;
var t;
var rt;
dx = fx - sx;
dy = fy - sy;
t = 0.0 - (((sx - cx) * dx + (sy - cy) * dy) / (dx * dx + dy * dy));
if (t < 0.0)
{
t = 0.0;
}
else if (t > 1.0)
t = 1.0;
var dx1 = (sx + t * dx) - cx;
var dy1 = (sy + t * dy) - cy;
var rt = dx1 * dx1 + dy1 * dy1;
if (rt < rad * rad)
return true;
else
return false;
}
function move_ball()
{
ball_x=ball_x+ball_vx;
ball_y=ball_y+ball_vy;
if(ball_x<bound_left)
{
ball_x=bound_left;
ball_vx=-ball_vx;
}
if(ball_x>bound_right)
{
ball_x=bound_right;
ball_vx=-ball_vx;
}
if(ball_y<bound_top)
{
ball_y=bound_top;
ball_vy=-ball_vy;
}
if(ball_y>bound_bottom)
{
ball_y=bound_bottom;
ball_vy=-ball_vy;
}
//撞到上边
if(intersect(wall_x,wall_y,wall_x+wall_width,wall_y+wall_height,ball_x,ball_y,ball_radius))
{
ball_y=wall_y-ball_radius;
ball_vy=-ball_vy;
}
//撞到左边
if(intersect(wall_x,wall_y,wall_x,wall_y+wall_height,ball_x,ball_y,ball_radius))
{
ball_x=wall_x-ball_radius;
ball_vx=-ball_vx;
}
//撞到右边
if(intersect(wall_x+wall_width,wall_y,wall_x+wall_width,wall_y+wall_height,ball_x,ball_y,ball_radius))
{
ball_x=wall_x+wall_width+ball_radius;
ball_vx=-ball_vx;
}
//撞到下边
if(intersect(wall_x,wall_y+wall_height,wall_x+wall_width,wall_y+wall_height,ball_x,ball_y,ball_radius))
{
ball_y=wall_y+wall_height+ball_radius;
ball_vy=-ball_vy;
}
}
function move_wall(ev)
{
var keyCode;
if(event==null)
{
keyCode=window.event.keyCode;
window.event.preventDefault();
}
else
{
keyCode=event.keyCode;
event.preventDefault();
}
switch(keyCode)
{
case 37://left;
wall_x-=unit;
if(wall_x<bound_left)
wall_x=bound_left;
break;
case 38://up
wall_y-=unit;
if(wall_y<bound_top)
wall_y=bound_top;
break;
case 39://right
wall_x+=unit;
if(wall_x+wall_width>bound_right)
wall_x=bound_right-wall_width;
break;
case 40://down
wall_y+=unit;
if(wall_y+wall_height>bound_bottom)
wall_y=bound_bottom-wall_height;
break;
default:
break;
}
}
function draw_all()
{
ctx.beginPath();
ctx.clearRect(box_x,box_y,box_width,box_height);
ctx.fillStyle="rgb(255,0,0)";
//ctx.lineWidth=ball_radius;
ctx.arc(ball_x,ball_y,ball_radius,0,Math.PI*2,true);
ctx.fill();//note
ctx.fillStyle="rgb(0,0,0)";
ctx.fillRect(wall_x,wall_y,wall_width,wall_height);
ctx.strokeRect(box_x,box_y,box_width,box_height);
}
function init()
{
canvas=document.getElementById('canvas');
ctx=canvas.getContext('2d');
draw_all();
setInterval(draw_all,100);
setInterval(move_ball,50);
window.addEventListener('keydown',move_wall,false);//note
}
</script>
</head>
<body onLoad="init();">
<canvas id="canvas" width="300" height="300"></canvas>
</body>
</html>


难点

小球和砖块的碰撞检测以及碰撞处理
将砖块分解为4条线段
分别对小球和每条线段进行碰撞检测。

感谢各位的阅读,以上就是“怎么用html5实现乒乓球游戏”的内容了,经过本文的学习后,相信大家对怎么用html5实现乒乓球游戏这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 怎么用html5实现乒乓球游戏

本文链接: https://lsjlt.com/news/75250.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么用html5实现乒乓球游戏
    这篇文章主要讲解了“怎么用html5实现乒乓球游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用html5实现乒乓球游戏”吧!演示地址http://k...
    99+
    2024-04-02
  • 怎么使用Three.js实现3D乒乓球小游戏
    本篇内容介绍了“怎么使用Three.js实现3D乒乓球小游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!效果原理React-Three-F...
    99+
    2023-07-05
  • Html5怎么开发乒乓Ping Pong游戏
    Html5怎么开发乒乓Ping Pong游戏,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。 Hea...
    99+
    2024-04-02
  • Three.js实现3D乒乓球小游戏(物理效果)
    目录摘要效果原理React-Three-Fiber特点生态系统安装第一个场景实现〇 搭建页面基本结构① 场景初始化② 添加辅助工具③ 创建乒乓球和球拍创建物理世界创建乒乓球创建球拍颠...
    99+
    2023-03-21
    Three.js 3D乒乓球小游戏 Three.js 3D球 Three.js 3D小游戏
  • Python+Kivy编写一个乒乓球游戏
    目录前言1.准备2.简单使用 Kivy3.Kivy - 添加简单图形4. Kivy - 增加乒乓球球体5. kivy - 增加乒乓球体运动6. Kivy - 球拍移动事件前言 好久...
    99+
    2024-04-02
  • Html5怎样开发乒乓Ping Pong游戏
    这篇文章给大家介绍Html5怎样开发乒乓Ping Pong游戏,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。用jQuery操作游戏元素 我们已经用jQuery初始化了球拍。现在我们做一...
    99+
    2024-04-02
  • Python实现打乒乓小游戏
    本文实例为大家分享了Python实现打乒乓小游戏的具体代码,供大家参考,具体内容如下 源码奉上: import sys import cfg import pygame fro...
    99+
    2024-04-02
  • Html5如何开发乒乓Ping Pong游戏
    这篇文章给大家介绍Html5如何开发乒乓Ping Pong游戏,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在这一章节我们将:准备开发工具建立我们的第一个游戏-Ping Pong学习使...
    99+
    2024-04-02
  • 使用ABAP Push Channel(APC)开发的乒乓球游戏,可双打
    url:https://<host>:<port>/sap/bc/apc_test/ping_pong/game或者事务码SICF, 输入ping_pong, 按F8:...
    99+
    2023-06-05
  • 怎么使用Python和OpenCV实现在线打乒乓球
    本篇内容介绍了“怎么使用Python和OpenCV实现在线打乒乓球”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!捕捉屏幕第一件事就是捕捉屏幕...
    99+
    2023-06-16
  • html5实现弹跳球小游戏
    这篇文章主要介绍“html5实现弹跳球小游戏”,在日常操作中,相信很多人在html5实现弹跳球小游戏问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”html5实现弹跳球小游戏”...
    99+
    2024-04-02
  • 怎么用jQuery实现弹弹球小游戏
    本篇内容介绍了“怎么用jQuery实现弹弹球小游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!本文实例为大家分享了jQuery实现弹弹球小...
    99+
    2023-06-20
  • 怎么用html5实现迷宫游戏
    这篇文章主要介绍“怎么用html5实现迷宫游戏”,在日常操作中,相信很多人在怎么用html5实现迷宫游戏问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用html5实现迷宫...
    99+
    2024-04-02
  • 非html5实现js版弹球游戏示例代码
    开始前的html页面  开始后的html游戏界面  html页面布局,即index.html文件源码如下: 复制代码 代码如下: <!DOCTYPE HTM...
    99+
    2022-11-15
    html5 js 弹球游戏
  • 用python实现弹球小游戏
    目录一、弹球游戏代码 二、程序结果 总结一、弹球游戏代码  下文是tkinter的应用实例,实现弹球游戏,通过<--和-->件移动平板接球。...
    99+
    2024-04-02
  • C++怎么实现打气球小游戏
    这篇文章主要介绍“C++怎么实现打气球小游戏”,在日常操作中,相信很多人在C++怎么实现打气球小游戏问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++怎么实现打气球小游戏”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-20
  • JavaScript怎么实现气球打字游戏
    这篇文章主要介绍“JavaScript怎么实现气球打字游戏”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript怎么实现气球打字游戏”文章能帮助大家解决问题。一、实现效果1、定义球的类气...
    99+
    2023-06-29
  • 怎么使用JS+Canvas实现接球小游戏
    本篇内容介绍了“怎么使用JS+Canvas实现接球小游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!成果展示实现思路这里我们采用疑问的句式...
    99+
    2023-07-02
  • 怎么用html5实现贪吃蛇游戏
    这篇文章主要讲解了“怎么用html5实现贪吃蛇游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用html5实现贪吃蛇游戏”吧! ...
    99+
    2024-04-02
  • 怎么用HTML5实现String Avoider小游戏
    这篇文章主要讲解了“怎么用HTML5实现String Avoider小游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用HTML5实现String A...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作