Advertisement
Domerk

Untitled

Dec 13th, 2013
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // elements.h
  2.  
  3. #ifndef ELEMENTS_H
  4. #define ELEMENTS_H
  5.  
  6. #include <QtGui>
  7.  
  8. class Car : public QObject // машинка
  9. {
  10. private:
  11.     int x;
  12.     int y;
  13.     int cheight;
  14.     int cwidth;
  15.     short int direction;
  16.     short int Turn; // значение поворота, которое должна сделать машинка
  17. public:
  18.     Car(int nx, int ny, int ndirection); // конструктор
  19.     void show(QPainter *painter); // рисовалка
  20.     void moving();
  21. public slots:
  22.     void new_TC_signal();
  23. };
  24.  
  25. // итд
  26.  
  27. #ifndef ROAD_H
  28. #define ROAD_H
  29.  
  30. #include <QtGui>
  31. #include "elements.h"
  32.  
  33. class Road : public QWidget
  34. {
  35.         Q_OBJECT
  36.  
  37. public:
  38.     Road(QWidget *parent = 0);
  39.     ~Road();
  40.     virtual void paintEvent(QPaintEvent *); //отвечает за рисование
  41. protected:
  42.     virtual void timerEvent(QTimerEvent *); //отвечает за время
  43. private:
  44.     QPainter* painter; //"художник"
  45.     int time; //Переменные, необходимые для анимации
  46.     int Road_Width;
  47.     int Road_Height;
  48.     int x1, x2, x3, x4;
  49.     int y1, y2, y3, y4;
  50.     Car Car1;
  51.    /* Car Car2;
  52.     Car Car3;
  53.     Car Car4; */
  54.  
  55. };
  56.  
  57. #endif // ROAD_H
  58.  
  59. Road::Road(QWidget *parent)
  60.     : QWidget(parent)
  61. {
  62.     painter = new QPainter(); //художник
  63.     setFixedSize(450,450);
  64.     QPalette pal;
  65.     setBackgroundRole(QPalette::Base);
  66.     pal.setBrush(QPalette::Background,QBrush(QPixmap("D:/QtSDK/QtCreator/bin/crossroad/crossroad1.jpg")));
  67.                 //pr->setPalette(pal);
  68.                // pr->setAutoFillBackground(true);
  69.     setPalette(pal);
  70.     setAutoFillBackground(true);
  71.  
  72.  
  73. //============ вспомогательные переменные ===============
  74. time = 1;
  75. x1 = 150;
  76. y1 = 0;
  77. x2 = 0;
  78. y2 = 250;
  79. x3 = 250;
  80. y3 = 450;
  81. x4 = 450;
  82. y4 = 150;
  83. Car1(x1,y1,1);
  84. startTimer(15);
  85. }
  86.  
  87. void Road::paintEvent(QPaintEvent* event) // event служит для определения координат и размеров
  88.                                             //конкретной области виджета, которую нужно перерисовать
  89.  
  90. {
  91.  
  92.     painter->begin(this); //начинаем рисовать в окне
  93.     painter->drawImage(0,0,QImage("D:/QtSDK/QtCreator/bin/crossroad/crossroad1.jpg"));
  94.  
  95.  
  96.  
  97.    Car1.moving();
  98.    Car1.show(painter);
  99.  
  100.  
  101.   /*  if (y1<=60)
  102.     {
  103.         y1++;
  104.     }
  105.  
  106.     Car Car1(x1, y1, 1);
  107.     Car1.show(painter);
  108.  
  109.     if (x2<=60)
  110.     {
  111.         x2++;
  112.     }
  113.  
  114.     Car Car2(x2, y2,2);
  115.     Car2.show(painter);
  116.  
  117.     if (y3>=320)
  118.     {
  119.         y3--;
  120.     }
  121.  
  122.     Car Car3(x3, y3, 3);
  123.     Car3.show(painter);
  124.  
  125.     if (x4>=320)
  126.     {
  127.         x4--;
  128.     }
  129.  
  130.     Car Car4(x4, y4, 4);
  131.     Car4.show(painter); */
  132.  
  133.     painter->end();//освобождаем окно
  134.  
  135. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement