1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/curriculum-design-mice_eat_cheese_android

Клонировать/Скачать
reimplemen.h 3.7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
3A Отправлено 28.12.2019 22:06 d4dfdf9
//-----本文件所声明用于引擎的其它类型-----
#pragma once
#include "basics.h"
#include "gesture.h"
#include "configure.h"
class Widget;
class SC;
const Pos defaultPos(0,0);
class JSParStru
{
public:
void add(QObject *pointer,QString name);
QVector<QObject*>pointerVec;
QVector<QString>nameVec;
bool operator !=(const JSParStru &par);
};
const JSParStru _NULLJSParStru;
class VideoPlayer : public QWidget //视频类
{
Q_OBJECT
public:
VideoPlayer(String Path,int Volume, int x, int y,int width,int heigh,bool cycle,String signfun,ParametersStru par,GraphicsScene *scene);
~VideoPlayer();
void start();
QMediaPlayer *mediaPlayer;
private:
QGraphicsVideoItem *videoItem;
bool cycle;
String Path;
String signfun;
ParametersStru par;
private slots:
void playFinished(QMediaPlayer::State state);
};
class MusicPlayer : public QMediaPlayer//音乐类
{
Q_OBJECT
public:
void singleplay(String name,int volume);
void multipleplay(String name,int volume);
QMediaPlaylist *cyclelist=nullptr;
String slotfun;
ParametersStru par;
~MusicPlayer();
private slots:
void playFinished(QMediaPlayer::State state);
};
class PixmapItem : public QGraphicsPixmapItem //图像图元类
{
public:
PixmapItem(const QPixmap &pixmap,Widget *s=nullptr, QGraphicsItem *parent=nullptr)
:QGraphicsPixmapItem::QGraphicsPixmapItem(pixmap,parent),s(s){}
void SetButton(Pixmap up, Pixmap down, String Music, int volume);
void SetEvent(String PressFun, ParametersStru PressPar, String ReleaseFun, ParametersStru ReleasePar);
protected:
Widget *s;
//Button
bool isbutton=false;
Pixmap up;
Pixmap down;
String Music;
int volume;
//slotfun
String PressFun;
ParametersStru PressPar;
String ReleaseFun;
ParametersStru ReleasePar;
//Event
void mousePressEvent(QGraphicsSceneMouseEvent *e);
void mouseReleaseEvent(QGraphicsSceneMouseEvent *e);
//允许在此添加更多类型的事件,或许你需要添加一些公有成员变量来记录其所对应的槽函数
bool IsRegion();
};
class GraphicsView : public QGraphicsView//视图类
{
public:
GraphicsView(QWidget *parent,Widget *s,int x,int y,int width,int height);
void Scale(int sX, int sY);
void Rotate(float set);
void SetCenter(int x,int y);
void SetCenter(QGraphicsItem *item);
int viewX;
int viewY;
protected:
Widget *s;
void wheelEvent(QWheelEvent *e)
{
e->ignore();
//不对滚轮事件做任何处理,防止滚动view(如果忽略还会向下层机制传递消息)
}
void keyPressEvent(QKeyEvent *e)
{
switch(e->key())
{
//防止未定义按键滚动view
case Qt::Key_Left:{}
case Qt::Key_Right:{}
case Qt::Key_Down:{}
case Qt::Key_Up:{}
default:
{e->ignore();}
}
}
//void mouseReleaseEvent(QMouseEvent *e);
void mouseMoveEvent(QMouseEvent *e);
};
class Item //通用图元类
{
public:
Item(PixmapItem* pixmapitem=nullptr,QGraphicsItem *graphicsitem=nullptr);
~Item();
QGraphicsItem *ItemPointer;
PixmapItem *PixmapItemPoniter;
QGraphicsBlurEffect *Blur=nullptr;
QGraphicsColorizeEffect *Color=nullptr;
float ShearX=0;
float ShearY=0;
float FreeScaleX=1;
float FreeScaleY=1;
SC* scPointer[9];
};
struct InputEvent
{
Qt::Key key;
int mouseX;
int mouseY;
int fmouseX;
int fmouseY;
ParametersStru PressPar;
String PressFun;
ParametersStru ReleasePar;
String ReleaseFun;
};
#ifdef AutoIsColliding
struct Collision
{
Item *item1;
Item *item2;
String slot;
ParametersStru par;
};
#endif

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/curriculum-design-mice_eat_cheese_android.git
git@api.gitlife.ru:oschina-mirror/curriculum-design-mice_eat_cheese_android.git
oschina-mirror
curriculum-design-mice_eat_cheese_android
curriculum-design-mice_eat_cheese_android
master