資源簡介
opengl
實現多個小球的碰撞和反彈模擬,小球的數目可以自己確定

代碼片段和文件信息
//?Circle.cpp:?implementation?of?the?CCircle?class.
//
//////////////////////////////////////////////////////////////////////
#include?“Circle.h“
#include?
#include?“math.h“
#include?“Dot.h“
//////////////////////////////////////////////////////////////////////
//?Construction/Destruction
//////////////////////////////////////////////////////////////////////
extern?int?windowWidth?windowHeight;
CCircle::CCircle()
{
r=0.0;
angle=0;
pi=acos(-1);
flag_circle=0;
finish_flag=false;
X_Step?=?10.0f;????????????
Y_Step?=?10.0f;
}
CCircle::~CCircle()
{
}
void?CCircle::Draw()
{
if(!finish_flag&&amm.m_p[0]!=0&&amm.m_p[1]!=0)
{
r=(am.m_p[0]-amm.m_p[0])*(am.m_p[0]-amm.m_p[0])+(am.m_p[1]-amm.m_p[1])*(am.m_p[1]-amm.m_p[1]);
???? r=sqrt(r);
}?
myArc_Full(am.m_p[0]am.m_p[1]rr0360);
}
int??CCircle::Mouse(int?btn?int?state?int?x?int?y)
{
if(!flag_circle)
{
am.m_p[0]=x;
am.m_p[1]=windowHeight-y;
flag_circle=1;
return?1;
}
else?if(flag_circle==1?)?
{
amm.m_p[0]?=?x;
amm.m_p[1]=?windowHeight-y;
flag_circle?=?0;
glutPostRedisplay();
return?0;
}
}
void?CCircle::mousemove(int?x?int?y)
{
amm.m_p[0]?=?x;
amm.m_p[1]?=?windowHeight-y;
glutPostRedisplay();
}
void?CCircle::myArc_Full(float?xfloat?yfloat?afloat?bint?start_angleint?end_angle)
{
???float?pxpy;
???glBegin(GL_TRIANGLE_FAN);
???glColor3fv(m_color);
???glVertex2f(xy);
???for(angle?=?start_angle;?angle?<=?end_angle;?angle?=?angle?+?1)
???{
???px?=?x?+?a*cos(angle/180.0?*pi);
???py?=?y?+?b*sin(angle/180.0?*pi);
???glVertex2f(pxpy);
???}
???glEnd();
???
}
void?CCircle::SetColor(float?Rfloat?Gfloat?B)
{
m_color[0]=R;
m_color[1]=G;
m_color[2]=B;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1774??2011-04-17?11:04??Ball?1.7\SportBall\Circle.cpp
?????文件????????934??2011-03-30?15:53??Ball?1.7\SportBall\Circle.h
?????文件????????326??2011-03-29?10:57??Ball?1.7\SportBall\cursor1.cur
?????文件????????866??2011-03-29?10:39??Ball?1.7\SportBall\Dot.cpp
?????文件????????646??2011-03-29?10:39??Ball?1.7\SportBall\Dot.h
?????文件????????456??2011-03-29?10:57??Ball?1.7\SportBall\resource.h
?????文件??????17464??2011-03-31?13:03??Ball?1.7\SportBall\sc
?????文件???????1616??2011-03-29?10:57??Ball?1.7\SportBall\sc
?????文件???????4782??2011-04-17?11:16??Ball?1.7\SportBall\SportBall.cpp
?????文件???????4562??2011-03-29?10:39??Ball?1.7\SportBall\SportBall.dsp
?????文件????????541??2011-03-29?10:37??Ball?1.7\SportBall\SportBall.dsw
?????文件?????140288??2011-04-21?18:13??Ball?1.7\SportBall\SportBall.ncb
?????文件??????53760??2011-04-21?18:13??Ball?1.7\SportBall\SportBall.opt
?????文件???????1698??2011-04-21?18:12??Ball?1.7\SportBall\SportBall.plg
?????目錄??????????0??2011-04-22?20:05??Ball?1.7\SportBall
?????目錄??????????0??2011-04-21?18:12??Ball?1.7
-----------?---------??----------?-----??----
???????????????229713????????????????????16
- 上一篇:SYN Flooder 攻擊源碼
- 下一篇:protelpcb文件作業
評論
共有 條評論