最近在学着做飞机大战,创建heroplane对象的时候,飞机显示的很大(如图所示),所以需要调小一些,调整到原来的1/5即可。
代码修改前:
HeroPlane::HeroPlane()
{
//初始化加载飞机图片资源
m_Plane.load(HERO_PATH);
//初始化坐标
m_X = GAME_WIDTH * 0.5 - m_Plane.width()*0.5;
m_Y = GAME_HEIGHT - m_Plane.height();
//初始化矩形框
m_Rect.setWidth(m_Plane.width());
m_Rect.setHeight(m_Plane.height());
m_Rect.moveTo(m_X,m_Y);
}
void MainScene::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
//绘制地图
painter.drawPixmap(0,m_map.m_map1_posY, m_map.m_map1);
painter.drawPixmap(0,m_map.m_map2_posY, m_map.m_map2);
//绘制英雄
painter.drawPixmap(m_hero.m_X,m_hero.m_Y,m_hero.m_Plane);
}
代码修改后:
HeroPlane::HeroPlane()
{
//初始化加载飞机图片资源
m_Plane.load(HERO_PATH);
//初始化坐标
m_X = GAME_WIDTH * 0.5 - m_Plane.width()*0.5;
m_Y = GAME_HEIGHT - m_Plane.height();
//初始化矩形框
m_Rect.setWidth(m_Plane.width() / 5);
m_Rect.setHeight(m_Plane.height() / 5);
m_Rect.moveTo(m_X,m_Y);
}
void MainScene::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
//绘制地图
painter.drawPixmap(0,m_map.m_map1_posY, m_map.m_map1);
painter.drawPixmap(0,m_map.m_map2_posY, m_map.m_map2);
//绘制英雄
painter.drawPixmap(m_hero.m_Rect,m_hero.m_Plane);
}
修改后效果展示: