-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSprite.cpp
More file actions
96 lines (80 loc) · 1.83 KB
/
Sprite.cpp
File metadata and controls
96 lines (80 loc) · 1.83 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
84
85
86
87
88
89
90
91
92
93
94
95
96
// game engine includes
#include "Sprite.h"
// default constructor
df::Sprite::Sprite(){
max_frame_count = 0;
width = 0;
height = 0;
frame_count = 0;
color = df::COLOR_DEFAULT;
label = "";
}
// Destroy sprite, deleting any allocated frames.
df::Sprite::~Sprite(){
if (frame != NULL)
delete[] frame;
}
// Create sprite with indicated maximum number of frames.
df::Sprite::Sprite(int max_frames){
max_frame_count = max_frames;
frame = new Frame[max_frame_count];
width = 0;
height = 0;
frame_count = 0;
color = df::COLOR_DEFAULT;
label = "";
}
// Set width of sprite.
void df::Sprite::setWidth(int new_width){
width = new_width;
}
// Get width of sprite.
int df::Sprite::getWidth() const{
return width;
}
// Set height of sprite.
void df::Sprite::setHeight(int new_height){
height = new_height;
}
// Get height of sprite.
int df::Sprite::getHeight() const{
return height;
}
// Set sprite color.
void df::Sprite::setColor(df::Color new_color){
color = new_color;
}
// Get sprite color.
df::Color df::Sprite::getColor() const{
return color;
}
// Get total count of frames in sprite.
int df::Sprite::getFrameCount(){
return frame_count;
}
// Add frame to sprite.
// Return -1 if frame array full, else 0.
int df::Sprite::addFrame(df::Frame new_frame){
if (frame_count >= max_frame_count){
return -1;
}
frame[frame_count] = new_frame;
frame_count++;
return 0;
}
// Get next sprite frame indicated by number.
// Return empty frame if out of range [0, frame_count].
df::Frame df::Sprite::getFrame(int frame_number) const{
if (frame_number < 0 || frame_number >= frame_count){
return df::Frame();
}
return frame[frame_number];
}
// Set label associated with sprite.
void df::Sprite::setLabel(std::string new_label){
label = new_label;
}
// Get label associated with sprite.
std::string df::Sprite::getLabel() const{
return label;
}