赞 | 0 |
VIP | 0 |
好人卡 | 1 |
积分 | 0 |
经验 | 7054 |
最后登录 | 2014-2-23 |
在线时间 | 177 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 49
- 在线时间
- 177 小时
- 注册时间
- 2011-7-3
- 帖子
- 235
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
源代码如下:
int Radioshoot(int Type,int Index,int Health,GLfloat Red,GLfloat Green,GLfloat Blue,GLfloat Alpha,int Way,int Length,GLfloat MinSpeed,GLfloat MaxSpeed,GLfloat XScale,GLfloat YScale,GLfloat ZScale)
{
for(i=0;i<Way;i++)
{
for(j=0;j<Length;j++)
{
BulletInitialize(Type,Index,Health,Red,Green,Blue,Alpha,XCoord,YCoord,ZCoord,
(cos(360.0f/Way*i+90.0f)*(MaxSpeed-MinSpeed)/(Length-1)*j+MinSpeed)*XScale,
(sin(360.0f/Way*i)*(MaxSpeed-MinSpeed)/(Length-1)*j+MinSpeed)*YScale,
sqrt(XSpeed*XSpeed/XScale/XScale+YSpeed*YSpeed/YScale/YScale)*ZScale,
);
}
}
return TRUE;
}
其中X方向速度为(cos(360.0f/Way*i+90.0f)*(MaxSpeed-MinSpeed)/(Length-1)*j+MinSpeed)*XScale,
Y方向速度为(sin(360.0f/Way*i)*(MaxSpeed-MinSpeed)/(Length-1)*j+MinSpeed)*YScale,
Z方向速度为sqrt(XSpeed*XSpeed/XScale/XScale+YSpeed*YSpeed/YScale/YScale)*ZScale。
Way变量将决定发射器将向多少个互成角度均等的方向发射子弹,而Length变量将决定每个方向上发射的子弹数。
而XScale则是该子弹的速度在X方向上的缩放值。
比如,如果三个缩放值都相等,那么,无论你从哪里看,这个弹幕都是完美的球体。
但若其中一个缩放值变为0,则该弹幕便会变为一个平面上的正圆。
若再将另外一个缩放值降低,则你将看到一个平面上的椭圆。
别公式还没看完头就先晕了哟 |
|