-
Notifications
You must be signed in to change notification settings - Fork 0
/
mainObject.cpp
106 lines (78 loc) · 1.69 KB
/
mainObject.cpp
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
97
98
99
100
101
102
103
104
105
#include "commonFunc.h"
#include "mainObject.h"
#include "loadBird.h"
MainObject::MainObject()
{
x_pos_ = 150;
y_pos_ = 350;
rect_.x = 0;
rect_.y = 0;
rect_.w = WIDTH_MAIN_OBJECT;
rect_.h = HEIGHT_MAIN_OBJECT;
}
MainObject::~MainObject()
{
;
}
int MainObject::getmPosX()
{
return mPosX;
}
int MainObject::getmPosY()
{
return mPosY;
}
//con chim rơi tự do
void MainObject::changeY(float accel)
{
mVelY += accel;
}
bool MainObject::LoadImg(std::string path, SDL_Renderer* screen)
{
bool ret = BaseObject::LoadImg(path,screen);
if (ret == true)
return ret;
}
//quản lý sự kiện nhập vào từ bàn phím
void MainObject::HandleInputAction(SDL_Event events, SDL_Renderer *screen, Mix_Chunk* wing_sound)
{
if(events.type == SDL_KEYDOWN && events.key.repeat == 0)
{
switch(events.key.keysym.sym)
{
case SDLK_SPACE:
{
mVelY = -1.8;
Mix_PlayChannel(-1, wing_sound, 0);
}
break;
default:
break;
}
}
}
//quản lý chuyển động của con chim
void MainObject::move(int &loseFlag)
{
mPosY += mVelY;
if (mPosY < 0)
{
mPosY = 0;
}
if( mPosY +HEIGHT_MAIN_OBJECT > SCREEN_HEIGHT )
{
mPosY = SCREEN_HEIGHT - HEIGHT_MAIN_OBJECT ;
loseFlag = 1;
}
}
void MainObject::Show(SDL_Renderer*des)
{
LoadImg("img//bird2.png", des);
rect_.x = mPosX;
rect_.y = mPosY;
rect_.w = 64;
rect_.h = 64;
SDL_Rect renderquad = {rect_.x, rect_.y, rect_.w, rect_.h};
//render bird với góc thay đổi
SDL_RenderCopyEx(des,p_object_, NULL, &renderquad, mVelY* 15, nullptr, SDL_FLIP_NONE);
}