-
Notifications
You must be signed in to change notification settings - Fork 0
/
level3tower.cpp
54 lines (37 loc) · 1.17 KB
/
level3tower.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
#include <level3tower.h>
#include <QTimer>
#include <bullet.h>
#include <game.h>
#include <QPixmap>
#include <QGraphicsPixmapItem>
extern Game * game;
Level3Tower::Level3Tower(QGraphicsItem *parent){
// connect a timer to aquire_target
QTimer * timer = new QTimer(this);
connect(timer,SIGNAL(timeout()),this,SLOT(aquire_target()));
timer->start(300);
}
void Level3Tower::fire(){
Bullet * bullet1 = new Bullet();
Bullet * bullet2 = new Bullet();
Bullet * bullet3 = new Bullet();
QPixmap p("E:/MediaQt/Tower/Level3.png");
p=p.scaled(64,20);
bullet1->setPixmap(p);
bullet2->setPixmap(p);
bullet3->setPixmap(p);
bullet1->setPos(x()+30,y()+30);
bullet2->setPos(x()+30,y()+30);
bullet3->setPos(x()+30,y()+30);
QLineF ln(QPointF(x()+30,y()+30),attack_dest);
int angle = -1 * ln.angle();
bullet1->setRotation(angle);
bullet2->setRotation(angle+10);
bullet3->setRotation(angle-10);
game->scene->addItem(bullet1);
game->scene->addItem(bullet2);
game->scene->addItem(bullet3);
}
void Level3Tower::aquire_target(){
Tower::aquire_target();
}