Bullet.cpp
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
#include "stdafx.h"
// Bullet
Bullet::Bullet(GameWorld *pgw, int x_value, int y_value, double sprite_vx, double sprite_vy)
:Sprite(pgw, x_value, y_value)
{
dx=sprite_vx;
dy=sprite_vy;
ExplosionFrameCount = 32;
ExplosionFrameIndex = -1;
};
int Bullet::GetFireInterval(BULLET_TYPE BulletType)
{
switch(BulletType)
{
case PLAYER_BULLET_FIRE:
return 150;
case PLAYER_BULLET_MISSILE:
return 300;
case PLAYER_BULLET_ROUND_BULLET:
return 200;
case ENERMY_BULLET_1:
return 2000;
case ENERMY_BULLET_2:
return 700;
case ENERMY_BULLET_3:
return 1000;
}
return 0;
}
void Bullet::SetMovement(double speed, int angle)
{
double a = GameWorld::PI * angle / 180;
dx += speed * cos( a );
dy += - speed * sin( a );
}
void Bullet::Update()
{
if(OutOfSight())
Used=false;
else if(Life<=0)
{
if(++ExplosionFrameIndex==0)
{
sx = 0;
sy = 83;
w = 32;
h = 32;
dx = 0;
dy = 0;
}
else if(ExplosionFrameIndex>=ExplosionFrameCount)
Used = false;
else
{
sx = 32 * ( ExplosionFrameIndex / 4 );
后面还有 135 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
