📄 spritecollection.cpp
字号:
/*
* Copyright (C) 2002 Robert Ernst <robert.ernst@linux-solutions.at>
*
* This file may be distributed and/or modified under the terms of the
* GNU General Public License version 2 as published by the Free Software
* Foundation and appearing in the file LICENSE.GPL included in the
* packaging of this file.
*
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
* WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
* See COPYING for GPL licensing information.
*
*/
#include "SpriteCollection.h"
#include <eikenv.h>
#include <icebloxx.mbg>
SpriteCollection::SpriteCollection()
{
CEikonEnv* env = CEikonEnv::Static();
TInt loop;
for(loop=0;loop<8;loop++)
{
m_block[loop]=static_cast<QPixmap*>(env->CreateBitmapL(_L("*"),EMbmIcebloxxBlock1+loop));
}
for(loop=0;loop<8;loop++)
{
m_block_coin[loop]=static_cast<QPixmap*>(env->CreateBitmapL(_L("*"),EMbmIcebloxxBlock_coin1+loop));
}
m_coin[0]=static_cast<QPixmap*>(env->CreateBitmapL(_L("*"),EMbmIcebloxxCoin));
m_coin[1]=static_cast<QPixmap*>(env->CreateBitmapL(_L("*"),EMbmIcebloxxCoinmask));
for(loop=0;loop<8;loop++)
{
m_dead[loop]=static_cast<QPixmap*>(env->CreateBitmapL(_L("*"),EMbmIcebloxxDead1+loop));
}
for(loop=0;loop<5;loop++)
{
m_flame[loop][0]=static_cast<QPixmap*>(env->CreateBitmapL(_L("*"),EMbmIcebloxxFlame1+loop));
m_flame[loop][1]=static_cast<QPixmap*>(env->CreateBitmapL(_L("*"),EMbmIcebloxxFlame1mask+loop));
}
m_happy_penguin=static_cast<QPixmap*>(env->CreateBitmapL(_L("*"),EMbmIcebloxxHappy_penguin));
m_intro =static_cast<QPixmap*>(env->CreateBitmapL(_L("*"),EMbmIcebloxxIntro));
m_live =static_cast<QPixmap*>(env->CreateBitmapL(_L("*"),EMbmIcebloxxLive));
m_penguin = static_cast<QPixmap*>(env->CreateBitmapL(_L("*"),EMbmIcebloxxPenguin));
for(loop=0;loop<3;loop++)
{
m_penguin_up[loop]=static_cast<QPixmap*>(env->CreateBitmapL(_L("*"),EMbmIcebloxxPenguin_up1+loop));
m_penguin_down[loop]=static_cast<QPixmap*>(env->CreateBitmapL(_L("*"),EMbmIcebloxxPenguin_down1+loop));
m_penguin_left[loop]=static_cast<QPixmap*>(env->CreateBitmapL(_L("*"),EMbmIcebloxxPenguin_left1+loop));
m_penguin_right[loop]=static_cast<QPixmap*>(env->CreateBitmapL(_L("*"),EMbmIcebloxxPenguin_right1+loop));
}
m_points[0][0]=static_cast<QPixmap*>(env->CreateBitmapL(_L("*"),EMbmIcebloxxPoints1));
m_points[1][0]=static_cast<QPixmap*>(env->CreateBitmapL(_L("*"),EMbmIcebloxxPoints2));
m_points[0][1]=static_cast<QPixmap*>(env->CreateBitmapL(_L("*"),EMbmIcebloxxPoints1mask));
m_points[1][1]=static_cast<QPixmap*>(env->CreateBitmapL(_L("*"),EMbmIcebloxxPoints2mask));
m_wall=static_cast<QPixmap*>(env->CreateBitmapL(_L("*"),EMbmIcebloxxWall));
}
SpriteCollection::~SpriteCollection()
{
TInt loop;
for(loop=0;loop<8;loop++)
{
delete m_block[loop];
delete m_block_coin[loop];
delete m_dead[loop];
}
delete m_coin[0];
delete m_coin[1];
for(loop=0;loop<5;loop++)
{
delete m_flame[loop][0];
delete m_flame[loop][1];
}
delete m_happy_penguin;
delete m_intro;
delete m_live;
delete m_penguin;
for(loop=0;loop<3;loop++)
{
delete m_penguin_up[loop];
delete m_penguin_down[loop];
delete m_penguin_left[loop];
delete m_penguin_right[loop];
}
delete m_points[0][0];
delete m_points[1][0];
delete m_points[0][1];
delete m_points[1][1];
delete m_wall;
}
void SpriteCollection::drawBlock(QPainter &painter, int x, int y, int state)
{
painter.drawPixmap((KMajorPart*x)/KDividor, y, m_block[state]);
}
void SpriteCollection::drawBlockCoin(QPainter &painter, int x, int y, int state)
{
painter.drawPixmap((KMajorPart*x)/KDividor, y, m_block_coin[state]);
}
void SpriteCollection::drawCoin(QPainter &painter, int x, int y)
{
painter.drawPixmapMask((KMajorPart*x)/KDividor, y, m_coin[0],m_coin[1]);
}
void SpriteCollection::drawDead(QPainter &painter, int x, int y, int state)
{
painter.drawPixmap((KMajorPart*x)/KDividor, y, m_dead[state]);
}
void SpriteCollection::drawFlame(QPainter &painter, int x, int y, int state)
{
painter.drawPixmapMask((KMajorPart*x)/KDividor, y, m_flame[(state > 4) ? 8 - state : state][0],m_flame[(state > 4) ? 8 - state : state][1]);
}
void SpriteCollection::drawHappyPenguin(QPainter &painter, int x, int y, int state)
{
painter.drawPixmap((KMajorPart*x)/KDividor, y, state ? m_happy_penguin : m_penguin);
}
void SpriteCollection::drawIntro(QPainter &painter, int x, int y)
{
painter.drawPixmap(x, y, m_intro);
}
void SpriteCollection::drawLive(QPainter &painter, int x, int y)
{
painter.drawPixmap(x, y, m_live);
}
void SpriteCollection::drawPenguin(QPainter &painter, int x, int y)
{
painter.drawPixmap((KMajorPart*x)/KDividor, y, m_penguin);
}
void SpriteCollection::drawPenguinUp(QPainter &painter, int x, int y, int state)
{
painter.drawPixmap((KMajorPart*x)/KDividor, y, m_penguin_up[(state > 2) ? 4 - state : state]);
}
void SpriteCollection::drawPenguinDown(QPainter &painter, int x, int y, int state)
{
painter.drawPixmap((KMajorPart*x)/KDividor, y, m_penguin_down[(state > 2) ? 4 - state : state]);
}
void SpriteCollection::drawPenguinLeft(QPainter &painter, int x, int y, int state)
{
painter.drawPixmap((KMajorPart*x)/KDividor, y, m_penguin_left[(state > 2) ? 4 - state : state]);
}
void SpriteCollection::drawPenguinRight(QPainter &painter, int x, int y, int state)
{
painter.drawPixmap((KMajorPart*x)/KDividor, y, m_penguin_right[(state > 2) ? 4 - state : state]);
}
void SpriteCollection::drawPoints(QPainter &painter, int x, int y, int state)
{
painter.drawPixmapMask((KMajorPart*x)/KDividor, y, m_points[state][0],m_points[state][1]);
}
void SpriteCollection::drawWall(QPainter &painter, int x, int y)
{
painter.drawPixmap((KMajorPart*x)/KDividor, y, m_wall);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -