• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >游戏开发 > js跑酷游戏代码碰撞检测逻辑错误,球在没到wall里就弹出信息,代码里已表明地点

js跑酷游戏代码碰撞检测逻辑错误,球在没到wall里就弹出信息,代码里已表明地点

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了js跑酷游戏代码碰撞检测逻辑错误,球在没到wall里就弹出信息,代码里已表明地点等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: js跑酷游戏代码碰撞检测逻辑错误,球在没到wall里就弹出信息,代码里已表明地点
描述:

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <style type="text/css">
        *{margin: 0px;padding: 0px}
        canvas{background: #eee;display: block;margin: 0,auto;}
    </style>
</head>
<body>
<canvas width="800" height="320">
    
</canvas>
<script type="text/javascript">

var canvas=document.getElementById('myCanvas');
var ctx=canvas.getContext('2d');
var width=10
var height=80

var rectX=[100,300,500]

var radius=10
var dx=2
var ballX=10
var ballY=canvas.height-radius
var dy=200


function drawall(){
    for(var a=0;a<10;a++){

    ctx.beginPath();
ctx.rect(rectX[a],canvas.height-height,width,height);
ctx.fillStyle='blue'
ctx.fill();
ctx.closePath();

}

}



function drawBall(){
     ctx.beginPath();
    ctx.arc(ballX,ballY,radius,0,Math.PI*2)
    ctx.fill();
    ctx.closePath();
}

function draw() {
    ctx.clearRect(0, 0, canvas.width, canvas.height);
    drawall();
    drawBall();

    //此处未成功,一开始就跳出
    if(100<ballX+radius<100+width){
       alert(you loase)
    }
    ballX=ballX+dx

}
document.addEventListener('keydown',keydownHandler,false)
document.addEventListener('keyup',keyupHandler,false)

function keydownHandler(e){
    if(e.keyCode==32){
       ballY-=dy

    }
}

function keyupHandler(e){
    if(e.keyCode==32){
        ballY+=dy;
    }
}

setInterval(draw,10);

</script>

</body>
</html>


解决方案1:

你这里写错了,写区间不能这样写的

100<ballX+radius<100+width

要表示大于什么并且小于什么,应该这样写

ballX+radius > 100 && ballX+radius < 100 + width


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • js跑酷游戏代码碰撞检测逻辑错误,球在没到wall里就弹出信息,代码里已表明地点

相关文章

  • 2017-06-05 工作笔记—CameraMotionBlur脚本报错
  • 2017-06-05 急!求大神解决TiledMap读取图片错位的问题!
  • 2017-06-05 unity不同场景间怎么传值
  • 2017-06-05 Cocos2d-xwin7+vs2010配置图文详解
  • 2017-06-05 cocos2d-js性功能问题,求大虾指点!!!
  • 2022-04-30Unity 3D Hierarchy视图
  • 2022-04-30Unity 3D TextArea控件
  • 2017-06-05 unity全景图片视频有明显的拼接线怎么处理附图片
  • 2017-06-05 六大手游开发引擎优劣分析
  • 2017-06-05 unity里关于材质球与物体清晰度的问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • unity全景图片视频有明显的拼接线怎么处理附图片
    • 小白求助关于摄像机始终面向一个物体的面旋转的问题
    • 游戏引擎十大排行榜,是不是真的?
    • Unity523版本怎么弄3D声音?
    • Unity 3D碰撞体(Collider)
    • 关于Unity3DNetWork
    • unity访问安卓手机本地资源(如图片、视频)
    • 炉石传说开始游戏时发生错误游戏玩家场景切换时背后发生了什么
    • Unity 3D ToolBar控件
    • 有c++builder可以调用的2D或3D引擎吗?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有