使用QT绘制植物大战僵尸
先放几张效果图
源码下载链接:https://wwu.lanzouv.com/iO8O708gfbvc
植物大战僵尸我用的英文原版
游戏请窗口运行
阳光基址:[[[0x006A9EC0]+768]+5560]
僵尸x轴坐标:(单浮点)[[[[0x006A9EC0]+768]+90]+2C]
僵尸y轴坐标:(单浮点)[[[[0x006A9EC0]+768]+90]+30]
僵尸血量:[[[[0x006A9EC0]+768]+90]+C8]
僵尸结构体之间差距0x15C
QT的窗口设置几条函数
setWindowFlag(Qt::FramelessWindowHint);//无边框
setAttribute(Qt::WA_TranslucentBackground);//设置透明
setFixedSize(gamerect.right-gamerect.left,gamerect.bottom-gamerect.top);//设置窗口大小
QT绘图
void MainWindow::paintEvent(QPaintEvent *event)
{
QPainter qpainter(this);
qpainter.setPen(QColor(255, 160, 230)); //设置画笔颜色
qpainter.drawText(10,130,"阳光为"+QString::number(SunNumber));//绘制文字
//若文字不经常改动,可以drawstatictext
//qpainter.setRenderHint(QPainter::Antialiasing, true);//抗锯齿
qpainter.drawRect(50, 50, 160, 100);//绘制矩形
}
使用定时器用来不断获取僵尸信息
QTimer *timer = new QTimer(this);
connect(timer,&QTimer::timeout, this, [=]{ });
timer->start(500);
差不多就这些了
代码写的比较差,刚学qt几星期,水平有限,错误之处还请见谅
:keai |