游戏开发论坛

 找回密码
 立即注册
搜索
查看: 14876|回复: 51

如何判断2张无规则的图是否碰撞呢

[复制链接]

18

主题

67

帖子

73

积分

注册会员

Rank: 2

积分
73
发表于 2006-9-6 17:08:00 | 显示全部楼层 |阅读模式
我们常用的是用图片的width和height判断2张图是否碰撞
也就是这2张图片是有规则的图,

哪么,我们要如何才能判断2张无规则的图是否碰撞呢???

如:

图1:
       **********
  ********************
************************
   ******************
       *********

图2:

%%%%%%
        %%%%%%%




图3:
无规则图片碰撞,事件触发

       **********
  ********************
************************
   ******************
       *********%%%%%%%
                               %%%%%%%



制作RPG游戏例子--象数判断2张无规则的图相碰  
http://bbs.gameres.com/showthread.asp?threadid=63825

5

主题

49

帖子

49

积分

注册会员

Rank: 2

积分
49
QQ
发表于 2006-9-6 19:12:00 | 显示全部楼层

Re:如何判断2张无规则的图是否碰撞呢

LZ贴出来的"图3"并不是碰撞的情况,只是一个临界。
这种类型的碰撞,判断的方法是检测有没有某些点重叠。

18

主题

67

帖子

73

积分

注册会员

Rank: 2

积分
73
 楼主| 发表于 2006-9-6 19:36:00 | 显示全部楼层

Re:如何判断2张无规则的图是否碰撞呢


如这样什么判断啊....................

15

主题

2093

帖子

2093

积分

金牌会员

Rank: 6Rank: 6

积分
2093
发表于 2006-9-6 20:13:00 | 显示全部楼层

Re: 如何判断2张无规则的图是否碰撞呢

如图:
先判断外面的大框,作为粗略的判断,如果碰撞了,再进一步判断小框

上面的BOSS也可以用同样的方法(虽然我从没见过如此奇形怪状的BOSS),无非就是框分得再细一点,层次再深一点而已

sf_200696201325.png

10

主题

411

帖子

411

积分

中级会员

Rank: 3Rank: 3

积分
411
发表于 2006-9-6 21:10:00 | 显示全部楼层

Re: Re: 如何判断2张无规则的图是否碰撞呢

psic: Re: 如何判断2张无规则的图是否碰撞呢

如图:
先判断外面的大框,作为粗略的判断,如果碰撞了,再进一步判断小框

上面的BOSS也可以用同样的方法(...



只会增加代码量,VB不建议这样设计,街机游戏也不是这么设计的.

15

主题

2093

帖子

2093

积分

金牌会员

Rank: 6Rank: 6

积分
2093
发表于 2006-9-6 21:24:00 | 显示全部楼层

Re: Re: Re: 如何判断2张无规则的图是否碰撞呢

游戏之家5世: Re: Re: 如何判断2张无规则的图是否碰撞呢




只会增加代码量,VB不建议这样设计,街机游戏也不是这么设计的.


会增加代码量吗?难道大师不知道有“递归”这个东西?

10

主题

411

帖子

411

积分

中级会员

Rank: 3Rank: 3

积分
411
发表于 2006-9-6 21:39:00 | 显示全部楼层

Re: Re: Re: Re: 如何判断2张无规则的图是否碰撞呢

psic: Re: Re: Re: 如何判断2张无规则的图是否碰撞呢



会增加代码量吗?难道大师不知道有“递归”这个东西?



如果我是大师, 你就是大便, 你可以写个例子, 我告诉你原理, 不过我不用这个方法.

商业游戏的判断方法:
(1)是显示用的,(2)是遮盖用的(不用显示),(3)是判断用的(不用显示), 我以前贴过一个外国的军舰炸潜艇, 就是这个原理.
街机的主板软件设计都是多层圈轴, 所以多一两个图层不会影响速度, 以前还是Z80和68000.

sf_200696213840.gif

10

主题

411

帖子

411

积分

中级会员

Rank: 3Rank: 3

积分
411
发表于 2006-9-6 21:55:00 | 显示全部楼层

Re: Re:如何判断2张无规则的图是否碰撞呢

griffin2006: Re:如何判断2张无规则的图是否碰撞呢

希望能够深入讲解,如何利用3进行碰撞检测。


(3)

A=RGB(255,0,0)
只有一种颜色, 只要遍历一次边缘就可以了,

假设BOSS边缘颜色是B=RGB(254,0,0),

只需要判断255边上是否等于254, 实际设计的时候还要案复杂一点,

SEGA MEGA DRIVE (世嘉5代) 512K的容量可以制作一部10关的飞机游戏, 包含10首以上音乐, 10个BOSS, 50种飞机坦克, 别看错, 512K, 怎么做的????  
sf_200696215448.jpg

15

主题

2093

帖子

2093

积分

金牌会员

Rank: 6Rank: 6

积分
2093
发表于 2006-9-6 22:13:00 | 显示全部楼层

Re: Re: Re:如何判断2张无规则的图是否碰撞呢

游戏之家5世: Re: Re:如何判断2张无规则的图是否碰撞呢



只需要判断255边上是否等于254, 实际设计的时候还要案复杂一点


这要怎么判断啊?难道还要逐个象素比较?运算量很可怕的哦

15

主题

2093

帖子

2093

积分

金牌会员

Rank: 6Rank: 6

积分
2093
发表于 2006-9-6 22:38:00 | 显示全部楼层

Re:如何判断2张无规则的图是否碰撞呢

对了,发现个bug哦
用遍历边缘来判断,如果一个大的物体完全包含了小的物体又该怎么办呢,两者边缘没有相交,而它们又确实是碰撞了,这种情况应该怎么办呢
请大师讲解一下
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-4-12 15:57

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表