-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathEnemyOscilatory.cpp
More file actions
83 lines (71 loc) · 2.44 KB
/
EnemyOscilatory.cpp
File metadata and controls
83 lines (71 loc) · 2.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include "Application.h"
#include "EnemyOscilatory.h"
#include "ModuleCollision.h"
#include "ModuleEnemies.h"
#include "ModuleParticles.h"
EnemyOscilatory::EnemyOscilatory(int x, int y, powerUpTypes type, SDL_Texture* thisTexture) : Enemy(x, y)
{
//links correct spritesheet texture
enemyTex = thisTexture;
waveAnim.PushBack({ 0,0,48,45 });
waveAnim.PushBack({ 49,0,48,46 });
waveAnim.PushBack({ 96,0,47,46 });
waveAnim.PushBack({ 144,0,48,46 });
waveAnim.PushBack({ 192,0,48,46 });
waveAnim.PushBack({ 0,47,48,46 });
waveAnim.PushBack({ 48,47,48,46 });
waveAnim.PushBack({ 96,47,48,46 });
waveAnim.PushBack({ 144,47,48,46 });
waveAnim.PushBack({ 192,47,48,46 });
waveAnim.PushBack({ 0,95,48,46 });
waveAnim.PushBack({ 48,95,48,46 });
waveAnim.PushBack({ 96,95,50,47 });
waveAnim.PushBack({ 146,95,48,49 });
waveAnim.PushBack({ 96,95,50,47 });
waveAnim.PushBack({ 48,95,48,46 });
waveAnim.PushBack({ 0,95,48,46 });
waveAnim.PushBack({ 192,47,48,46 });
waveAnim.PushBack({ 144,47,48,46 });
waveAnim.PushBack({ 96,47,48,46 });
waveAnim.PushBack({ 48,47,48,46 });
waveAnim.PushBack({ 0,47,48,46 });
waveAnim.PushBack({ 192,0,48,46 });
waveAnim.PushBack({ 144,0,48,46 });
waveAnim.PushBack({ 96,0,47,46 });
waveAnim.PushBack({ 49,0,48,46 });
waveAnim.speed = 0.05f;
animation = &waveAnim;
powerUpType = type;
collider = App->collision->AddCollider({ 0, 0, 50, 47 }, COLLIDER_TYPE::COLLIDER_ENEMY, (Module*)App->enemies);
original_y = y;
life = 5;
enemyScore = 500;
}
void EnemyOscilatory::Move()
{
if (going_up)
{
if (wave > 1.2f)
going_up = false;
else
wave += 0.05f;
}
else
{
if (wave < -1.2f)
going_up = true;
else
wave -= 0.05f;
}
position.y = int(float(original_y) + (82.0f * sinf(wave)));
position.x -= 1;
}
/*EnemyOscilatory::~EnemyOscilatory()
{
App->particles->AddParticle(App->particles->explosion, position.x + 30, position.y, COLLIDER_NONE, {}, 0);
App->particles->AddParticle(App->particles->explosion, position.x+50, position.y - 7, COLLIDER_NONE, {}, 300);
App->particles->AddParticle(App->particles->explosion, position.x+10, position.y + 30, COLLIDER_NONE,{},500);
App->particles->AddParticle(App->particles->explosion, position.x, position.y - 20, COLLIDER_NONE, {}, 144);
App->particles->AddParticle(App->particles->explosion, position.x - 10, position.y + 5, COLLIDER_NONE,{}, 170);
App->particles->AddParticle(App->particles->explosion, position.x - 20, position.y - 8, COLLIDER_NONE,{}, 240);
}*/