作者help0430 (@@)
看板GameDesign
标题Re: [问题] 程式上的问题
时间Mon Jan 12 19:45:50 2009
※ 引述《chris76930 (玩具)》之铭言:
: ※ [本文转录自 C_Sharp 看板]
: 作者: chris76930 (玩具) 看板: C_Sharp
: 标题: [问题] 程式上的问题
: 时间: Mon Jan 12 17:43:58 2009
: 老师要我们写一个桌上冰球(在游乐场常可以看到)的程式,
: 图画好了!该弄的都弄好了!
: 可是现在计分跟球的碰撞写不出来 哭哭~~~
: 老师还要我们用visual C# 2005版的程式写= = ,
: 可以请板上面的强者大大们帮我一下吗??
: 感恩!!!>//<
设定一个简单的几何图形,通常是圆形或矩型
你是2D冰球的话就用圆形吧
然後你要碰的是另一颗冰球还是桌子边缘还是有类似球拍的物体
然後在每次的移动依序检查每个可能发生碰撞的物体
如果两个物体有重叠,就是发生碰撞了
圆形重叠就判断a圆心和b圆心的距离有没有小於两者半径和
矩型的话就判断四个顶点有没有在另一个矩型内
想法大概是这样
实作的话就要看你游戏程式的架构了!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.116.174.201
1F:推 NDark:要是我会直接用点跟点的距离 这样最快 反正不会有人管多准 01/12 20:16
2F:→ help0430:哈!~~也可以阿~~但是球太大的话很突兀! 01/12 23:07
3F:→ Ebergies:很多都是用点对点, 也比较快 01/13 15:25
4F:推 softwind:这个我有写过 x86 asm版的~ 怀念阿~ 呵呵呵 加油 01/14 00:01
5F:→ paglytw:我是觉得~用图片的每点像素的透明度来检查比较精准~ 01/21 11:05
6F:→ paglytw:因为 正常的守门员应该是 不规则的型状~而且 撞击後的反弹 01/21 11:08
7F:→ paglytw:如果忽略了球的自旋~如果不是碰撞到平面的时候 还蛮不好处 01/21 11:10
8F:→ paglytw:理的~因为你需要球跟物体最後发生碰撞的位置~然後球会有速 01/21 11:15
9F:→ paglytw:度~还会造成穿越~总而言之~如果一开始的碰撞点有误~最後呈 01/21 11:20
10F:→ paglytw:现出来的结果是差蛮多的! 01/21 11:20