当前位置: 首页 > wzjs >正文

企业网站模板免费下载企业网站模板赣州网上房地产

企业网站模板免费下载企业网站模板,赣州网上房地产,个人制作的网站模板,网页设计图片轮播切换在这一章中,我们致力于解决碰撞检测问题,但它并不如我们所愿工作。 碰撞检测问题 今天我想解决的是碰撞检测问题,这个令人畏惧的碰撞检测。我理解,这里有很多复杂的if语句,但我们可以做到。 不过,在此之…

在这一章中,我们致力于解决碰撞检测问题,但它并不如我们所愿工作。

碰撞检测问题

今天我想解决的是碰撞检测问题,这个令人畏惧的碰撞检测。我理解,这里有很多复杂的if语句,但我们可以做到。

不过,在此之前,我想尝试一种方法来解决我们总是需要做X轴滚动的问题。我想使用相机功能来解决这个问题。我们之前已经用相机功能来实现过震动效果,我想现在可以再次利用它来实现X轴滚动。

使用相机功能

根据PICO 8的wiki,相机功能可以设置绘制状态的相机偏移量。设置相机偏移量会导致所有后续的绘制操作在它们的x和y坐标上减去这个偏移量。相机指定了绘制函数的原点,默认情况下是0,0。这实际上在某种程度上就是我们X轴滚动所做的事情,因为我们不需要为每个绘制操作添加一个变量,只需要在相机函数中设置一次,然后所有的后续绘制操作都会相应地移动。

让我们试试看这是否有效。看起来这行得通!现在,看看敌人的平行滚动,这看起来不错,我有点喜欢这个效果。但是,现在所有东西都在移动,包括我们的飞船,这在某些情况下并不是我们想要的。例如,我们的飞船不应该受到X轴滚动的影响。所以,在绘制炮口闪光时,我们需要重置相机,然后在绘制敌人子弹时再恢复它。

碰撞检测的实现

现在,让我们继续处理碰撞检测。这是一个复杂的话题,但我们已经做过类似的事情了。

碰撞检测有两个难点:一是数学计算,我们需要计算边缘的碰撞;二是数据存储和管理,每个碰撞盒都有四个值(x位置、y位置、宽度和高度),这些值需要被存储和管理。我们需要确保这些值被正确地传递到碰撞检测函数中,并且碰撞结果被正确地处理。

首先,我想创建一个简单的系统来测试底层的数学计算。如果数学计算没有问题,我们再考虑如何实现数据的存储和管理。

示例碰撞

让我们在飞船周围绘制一个矩形作为碰撞盒,并定义一个会在屏幕上某处碰撞的矩形。当这两个矩形碰撞时,它们将改变颜色。

但是,我们遇到了一个问题:我们的飞船实际上并不是一个对象。将飞船定义为一个对象可能会使碰撞检测更容易,因为你可以直接将飞船作为对象传递给碰撞检测函数。不过,现在我们先将飞船的碰撞盒参数(x1, y1, width1, height1)和另一个矩形的参数(x2, y2, width2, height2)分开处理。

调试与修正

在调试过程中,我们发现了一些问题,比如飞船的位置是在精灵的中心而不是左上角,这导致了碰撞检测的不准确。我们通过调整位置参数解决了这个问题。

此外,我们还发现了子像素问题,即使两个矩形在视觉上已经碰撞,但由于位置不是整数像素,碰撞检测函数可能没有正确地识别出碰撞。我们通过使用floor函数来确保位置是整数像素,从而解决了这个问题。

多种碰撞类型

我们需要处理三种碰撞类型:飞船与敌人、子弹与飞船、玩家射击与敌人。我们为每种碰撞类型创建了全局变量来跟踪是否发生了碰撞,并在更新函数中进行了相应的处理。

pcol=false-- shots vs enemiesfor e in all(enemies) doe.iscol=false endfor e in all(enemies) dofor s in all(shots) doif col(flr(xscroll+s.x-3),flr(s.y),8,16,flr(xscroll+e.x-6),flr(e.y-6),16,16) thene.iscol=true      endendend  -- ship vs enemiesfor e in all(enemies) doif col(flr(px-7),flr(py-7),16,16,flr(xscroll+e.x-6),flr(e.y-6),16,16) thenpcol=true      endend-- ship vs bulletsfor b in all(buls) doif col(flr(px-7),flr(py-7),16,16,flr(xscroll+b.x-2),flr(b.y-3),7,7) thenpcol=true      endend

http://www.dtcms.com/wzjs/599590.html

相关文章:

  • 腾讯网网站网址惠州抖音seo策划
  • 大淘客怎么自己做网站外贸营销平台
  • 江苏建设工程交易中心网站seo网站关键字优化
  • 中交建设集团天津公司网站富阳房产网
  • 网站安全建设模板wordpress主题制作slider
  • 微信群推广网站建设网站快速优化
  • 哈尔滨 微网站设计福田企业网站优化有用吗
  • 地州电视网站建设流程网络维护员岗位职责
  • 深圳网络营销的推广性价比高seo排名
  • 哈尔滨小程序开发seo学院培训班
  • 如何建设个人免费网站教程视频怎么做网站服务器吗
  • .net网站开发工程师wordpress本地建站教程
  • 建公司网站建设明细报价表兰州网络推广昔年下拉博客
  • seo网站推广简历怎么样做电商赚钱
  • 用什么网站做浏览器主页wordpress会员登录查询
  • 公司网站维护分工怎么查看一个网站的浏览量
  • 杭州科技公司网站建设湛江做网站多少钱
  • 饮食网站模板沈阳高端做网站建设
  • 九江 网站建设网站seo如何做
  • 潍坊哪个网站建设公司好线上赚钱正规平台
  • 深圳网站建设注册深圳龙华鸿宇大厦网站建设
  • 分类信息网站怎么建设网站模板免费下载php
  • 李洋网络做网站怎么样文山州建设局网站
  • 阿里巴巴电子商务网站建设目的做门户网站的市场价格
  • 怎样维护网站的安全和备份企业推广策划书模板
  • 建设网站需要花费多少钱精东影视文化传媒有限公司官网
  • 网站标题更换抓取资源的网站怎么做
  • 怎么建设淘客自己的网站_企业应用系统有哪些
  • 海南智能网站建设设计正规的饰品行业网站开发
  • 东莞网站高端建设儿童编程教学入门教程