Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // elements.h
- #ifndef ELEMENTS_H
- #define ELEMENTS_H
- #include <QtGui>
- class Car : public QObject // машинка
- {
- private:
- int x;
- int y;
- int cheight;
- int cwidth;
- short int direction;
- short int Turn; // значение поворота, которое должна сделать машинка
- public:
- Car(int nx, int ny, int ndirection); // конструктор
- void show(QPainter *painter); // рисовалка
- void moving();
- public slots:
- void new_TC_signal();
- };
- // итд
- #ifndef ROAD_H
- #define ROAD_H
- #include <QtGui>
- #include "elements.h"
- class Road : public QWidget
- {
- Q_OBJECT
- public:
- Road(QWidget *parent = 0);
- ~Road();
- virtual void paintEvent(QPaintEvent *); //отвечает за рисование
- protected:
- virtual void timerEvent(QTimerEvent *); //отвечает за время
- private:
- QPainter* painter; //"художник"
- int time; //Переменные, необходимые для анимации
- int Road_Width;
- int Road_Height;
- int x1, x2, x3, x4;
- int y1, y2, y3, y4;
- Car Car1;
- /* Car Car2;
- Car Car3;
- Car Car4; */
- };
- #endif // ROAD_H
- Road::Road(QWidget *parent)
- : QWidget(parent)
- {
- painter = new QPainter(); //художник
- setFixedSize(450,450);
- QPalette pal;
- setBackgroundRole(QPalette::Base);
- pal.setBrush(QPalette::Background,QBrush(QPixmap("D:/QtSDK/QtCreator/bin/crossroad/crossroad1.jpg")));
- //pr->setPalette(pal);
- // pr->setAutoFillBackground(true);
- setPalette(pal);
- setAutoFillBackground(true);
- //============ вспомогательные переменные ===============
- time = 1;
- x1 = 150;
- y1 = 0;
- x2 = 0;
- y2 = 250;
- x3 = 250;
- y3 = 450;
- x4 = 450;
- y4 = 150;
- Car1(x1,y1,1);
- startTimer(15);
- }
- void Road::paintEvent(QPaintEvent* event) // event служит для определения координат и размеров
- //конкретной области виджета, которую нужно перерисовать
- {
- painter->begin(this); //начинаем рисовать в окне
- painter->drawImage(0,0,QImage("D:/QtSDK/QtCreator/bin/crossroad/crossroad1.jpg"));
- Car1.moving();
- Car1.show(painter);
- /* if (y1<=60)
- {
- y1++;
- }
- Car Car1(x1, y1, 1);
- Car1.show(painter);
- if (x2<=60)
- {
- x2++;
- }
- Car Car2(x2, y2,2);
- Car2.show(painter);
- if (y3>=320)
- {
- y3--;
- }
- Car Car3(x3, y3, 3);
- Car3.show(painter);
- if (x4>=320)
- {
- x4--;
- }
- Car Car4(x4, y4, 4);
- Car4.show(painter); */
- painter->end();//освобождаем окно
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement