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 积分,解读结果公开显示在下面。

还没有人解读过这个文件。