【分享】关于卷轴游戏的一些思考
c++吧
全部回复
仅看楼主
level 2
cst05001 楼主
我认为人物可以用粒子系统的思想来做class Object//物体基类,万物之本{float x, y;//物体坐标public:void setX(float valueOfX);//设置物体x坐标void setY(float valueOfY);//设置物体y坐标float getX();//读取物体x坐标float getY();//读取物体y坐标}class lives : public Object//生物类继承自物体类{float life;//物体生命,决定生死float height;//物体高度,决定物体空间范围和检测多个物体是否碰撞float width;//物体宽度,决定物体空间范围和检测多个物体是否碰撞public:void setLife(float valueOfLife);//设置物体生命void setHeight(float valueOfHeight);//设置物体高度void setWidth(float valueOfWidth);//设置物体宽度float getLife();//读取物体生命float getHeight();//读取物体高度float getWidth();//读取物体宽度}/*===================================================================如何简单地检测两个物体是否碰撞?假设a和b是类lives的两个对象如果a和b的坐标的距离大于(a的1/2宽度 +b的1/2宽度),那么就是不碰撞。反之就是碰撞。用伪代码表示:(a.getX()/2 + b.getX()/2) > (a.getWidth()/2 +b.getWidth()/2) && (a.getY()/2 + b.getY()/2) > (a.getHeight()/2 +b.getHeight()/2) 则是不碰撞反之则是碰撞了。当然,你也可以专门写一个检测碰撞的函数,传入两个lives来判断。=====================================================================*//*=================================================================在游戏中如何处理主角和怪物的关系?很简单,可以把怪物之间的碰撞忽略,允许穿透。而重点判断主角。用循环把主角和各个怪物进行碰撞比较即可。==================================================================*/
2007年06月01日 01点06分 1
level 0
值得参看
2007年06月01日 05点06分 3
1