Project1
标题:
如何判断图片碰触
[打印本页]
作者:
赤点
时间:
2009-7-27 17:08
标题:
如何判断图片碰触
如何判断图片碰触,有什么脚本?
作者:
紫苏
时间:
2009-7-28 15:53
你是判断矩形边平行于坐标轴的图片么?那样的话比较简单:
设 sx1, sy1, sx2, sy2 分别为第一个矩形的左上角 x 坐标,左上角 y 坐标,右下角 x 坐标,右下角 y 坐标;
设 dx1, dy1, dx2, dy2 分别为第二个矩形的左上角 x 坐标,左上角 y 坐标,右下角 x 坐标,右下角 y 坐标;
if dx1 > sx2 || dx2 < sx1 || dy1 > sy2 || dy2 < sy1
# 两个图片没有碰撞
else
# 两个图片碰撞了
end
作者:
赤点
时间:
2009-7-28 19:40
谢了bz加分
作者:
赤点
时间:
2009-7-28 20:05
3#
赤点
好像不行
Project3.rar
(203.14 KB, 下载次数: 40)
2009-7-28 20:05 上传
点击文件名下载附件
作者:
紫苏
时间:
2009-7-28 22:08
工程何意?何处判断了图片碰撞?
作者:
赤点
时间:
2009-7-28 22:11
devil = Sprite.new
devil.bitmap = Bitmap.new("Graphics/Battlers/075-Devil01")
devil.ox = devil.bitmap.width / 2
devil.oy = devil.bitmap.height / 2
devil.x = 0
devil.y = 240
devila = Sprite.new
devila.bitmap = Bitmap.new("Graphics/Battlers/076-Devil02")
devila.ox = devil.bitmap.width / 2
devila.oy = devil.bitmap.height / 2
devila.x = 600
devila.y = 200
loop do
Graphics.update
devila.x -= 1
devil.x += 1
@sx1 = devila.x
@sy1 = devila.y
@sx2 = devila.x + devila.bitmap.width
@sy2 = devila.y - devila.bitmap.height
@dx1 = devil.x
@dy1 = devil.y
@dx2 = devil.x + devil.bitmap.width
@dy2 = devil.y - devil.bitmap.height
if @dx1 > @sx2 || @dx2 < @sx1 || @dy1 > @sy2 || @dy2 < @sy1
# 两个图片没有碰
else
# 两个图片碰撞了
p 1
end
end
作者:
赤点
时间:
2009-7-28 22:26
工程何意?何处判断了图片碰撞?
紫苏 发表于 2009-7-28 22:08
算了,我自己研究
作者:
紫苏
时间:
2009-7-28 22:30
@sx1 = devila.x
@sy1 = devila.y
@sx2 = devila.x + devila.bitmap.width
@sy2 = devila.y + devila.bitmap.height
@dx1 = devil.x
@dy1 = devil.y
@dx2 = devil.x + devil.bitmap.width
@dy2 = devil.y + devil.bitmap.height
程序中的逻辑坐标系统,原点在一个平面的左上角,呵呵~
作者:
宇文暮
时间:
2009-7-29 15:07
提示:
作者被禁止或删除 内容自动屏蔽
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1