0
10レベル、2コイン、階段、バックグラウンドミュージック、モンスター、スパイクのセットを持つj2meゲームを作成しています。私はゲームの第2レベルになると、私はこのエラーです、私はこれはメモリが不足しているため、私は....とにかく私はこのエラーが発生するのを防ぐために私のコードを改善することができますこれを修正できますか?j2me:キャッチされない例外:java.lang.OutOfMemoryError(スタックトレースが不完全)
public class QuatschCanvas
extends GameCanvas
implements Runnable {
/**
* @return the points
*
* WHAT HAS TO BE DONE TO THE GAME
* fix the door bug for all the levels after level 1
* add 2 more coins
* make the coins appear and disappear at different times but in the same place
* add music to game
* add sound when you hit a wall or die
* add methods to fix up the code and make it look nice
* fix record store to highest score
* get game going back to main menu when finished
* add animation to the main menu
*/
public boolean mTrucking;
private LayerManager mLayerManager;
private TiledLayer mAtmosphere, mBackground, mCollisionBackground, mCollisionDoor;
private int mAnimatedIndex;
private Sprite mQuatsch, mCoin,mCoin2, mMonster, mKey, mStairs, mSpikesUp, mSpikesDown;
private Graphics graphics;
Image gameOver, youWin;
private static int mState, mDirection, dState;
private static final int kStanding = 1;
private static final int kRunning = 2;
private static final int kRunningUp = 3;
private static final int kRunningDown = 4;
private static final int kCoinSpin = 5;
private static final int kMonsterMoveUp = 6;
private static final int kMonsterMoveDown = 7;
private static final int kLeft = 1;
private static final int kRight = 2;
private static final int kUp = 3;
private static final int kDown = 4;
private static int lives = 3;
private static int coins = 0;
private static int points = 0;
public static int currentLevel = 1;
public static int countForLevels = 0;
private static int keys = 0;
private static final int[] kRunningSequence = {0, 1, 0, 2};
private static final int[] kStandingSequence = {0};
private static final int[] kRunningSequenceUp = {3, 4, 3, 5};
private static final int[] kRunningSequenceDown = {6, 7, 6, 8};
private static final int[] kCoinSpinning = {0, 1, 2, 3, 4, 5};
private static final int[] kMonsterDown = {0, 1, 2, 1};
private static final int[] kMonsterUp = {9, 10, 11, 10};
private static int infinateLoop, spikeLoop;
public QuatschCanvas(String quatschImageName,
String atmosphereImageName, String backgroundImageName, String coinName, String monsterName,
String keyName, String stairsName, String spikesNameUp, String spikesNameDown) throws IOException {
super(true);
// Create a LayerManager.
mLayerManager = new LayerManager();
int w = getWidth();
int h = getHeight();
mLayerManager.setViewWindow(96, 0, w, h);
createBackground(backgroundImageName, 0);
createAtmosphere(atmosphereImageName);
createQuatsch(quatschImageName);
createCoin(coinName);
createSecondCoin(coinName);
createMonster(monsterName);
createKey(keyName);
createStairs(stairsName);
createSpikesUp(spikesNameUp);
createSpikesDown(spikesNameDown);
gameOver = Image.createImage("/game-over.png");
youWin = Image.createImage("/you-win.png");
}
private void createBackground(String backgroundImageName, int level)
throws IOException {
// Create the tiled layer.
Image backgroundImage = Image.createImage(backgroundImageName);
mCollisionDoor = new TiledLayer(8, 7, backgroundImage, 96, 96);
mCollisionDoor.setPosition(12, 0);
for (int i = 0; i < doorMap[level].length; i++) {
int column = i % 8;
int row = (i - column)/8;
mCollisionDoor.setCell(column, row, doorMap[level][i]);
}
mAnimatedIndex = mCollisionDoor.createAnimatedTile(8);
//mCollisionBackground.setCell(3, 1, mAnimatedIndex);
mLayerManager.append(mCollisionDoor);
mBackground = new TiledLayer(8, 7, backgroundImage, 96, 96);
mBackground.setPosition(12, 0);
for (int i = 0; i < map[level].length; i++) {
int column = i % 8;
int row = (i - column)/8;
mBackground.setCell(column, row, map[level][i]);
}
mAnimatedIndex = mBackground.createAnimatedTile(8);
// mBackground.setCell(3, 1, mAnimatedIndex);
mLayerManager.append(mBackground);
mCollisionBackground = new TiledLayer(8, 7, backgroundImage, 96, 96);
mCollisionBackground.setPosition(12, 0);
for (int i = 0; i < collsionMap[level].length; i++) {
int column = i % 8;
int row = (i - column)/8;
mCollisionBackground.setCell(column, row, collsionMap[level][i]);
}
mAnimatedIndex = mCollisionBackground.createAnimatedTile(8);
//mCollisionBackground.setCell(3, 1, mAnimatedIndex);
mLayerManager.append(mCollisionBackground);
}
private void createAtmosphere(String atmosphereImageName)
throws IOException {
// Create the atmosphere layer
Image atmosphereImage = Image.createImage(atmosphereImageName);
mAtmosphere = new TiledLayer(8, 1, atmosphereImage,
atmosphereImage.getWidth(), atmosphereImage.getHeight());
mAtmosphere.fillCells(0, 0, 8, 1, 1);
mAtmosphere.setPosition(0, 192);
mLayerManager.insert(mAtmosphere, 0);
}
private void createQuatsch(String quatschImageName)
throws IOException {
// Create the sprite.
Image quatschImage = Image.createImage(quatschImageName);
mQuatsch = new Sprite(quatschImage, 48, 48);
mQuatsch.setPosition(96 + (getWidth() - 48)/2, 100);
mQuatsch.defineReferencePixel(24, 24);
setDirection(kLeft);
setState(kStanding);
mLayerManager.insert(mQuatsch, 1);
}
private void createKey(String keyName)
throws IOException {
// Create the sprite.
Image keyImage = Image.createImage(keyName);
mKey = new Sprite(keyImage, 48, 48);
mKey.setPosition(250, 110);
mKey.defineReferencePixel(24, 24);
setState(kStanding);
mLayerManager.insert(mKey, 0);
}
private void createSpikesUp(String spikesNameUp)
throws IOException {
// Create the sprite.
Image spikesImageUp = Image.createImage(spikesNameUp);
mSpikesUp = new Sprite(spikesImageUp, 48, 48);
//mSpikes.setPosition(200, 110);
mSpikesUp.defineReferencePixel(24, 24);
setState(kStanding);
mLayerManager.insert(mSpikesUp, 0);
}
private void createSpikesDown(String spikesNameDown)
throws IOException {
// Create the sprite.
Image spikesImageDown = Image.createImage(spikesNameDown);
mSpikesDown = new Sprite(spikesImageDown, 48, 48);
//mSpikes.setPosition(200, 110);
mSpikesDown.defineReferencePixel(24, 24);
setState(kStanding);
mLayerManager.insert(mSpikesDown, 0);
}
private void createStairs(String stairsName)
throws IOException {
// Create the sprite.
Image stairsImage = Image.createImage(stairsName);
mStairs = new Sprite(stairsImage, 48, 48);
mStairs.setPosition(130, 520);
mStairs.defineReferencePixel(24, 24);
setState(kStanding);
mLayerManager.insert(mStairs, 0);
}
private void createCoin(String coinName)
throws IOException {
// Create the atmosphere layer
Image coinImage = Image.createImage(coinName);
mCoin = new Sprite(coinImage, 48, 48);
mCoin.setPosition(500, 150);
mCoin.defineReferencePixel(24, 24);
setState(kCoinSpin);
mLayerManager.insert(mCoin, 0);
}
private void createSecondCoin(String coinName)
throws IOException {
// Create the atmosphere layer
Image coinImage = Image.createImage(coinName);
mCoin2 = new Sprite(coinImage, 48, 48);
mCoin2.setPosition(250, 220);
mCoin2.defineReferencePixel(24, 24);
setState(kCoinSpin);
mLayerManager.insert(mCoin2, 0);
}
private void createMonster(String monsterName)
throws IOException {
// Create the atmosphere layer
Image monsterImage = Image.createImage(monsterName);
mMonster = new Sprite(monsterImage, 48, 48);
mMonster.setPosition(520, 500);
mMonster.defineReferencePixel(24, 24);
setDirection(kUp);
setState(kMonsterMoveUp);
mLayerManager.insert(mMonster, 0);
}
public void start() {
mTrucking = true;
Thread t = new Thread(this);
t.start();
}
public void run() {
int w = getWidth();
int h = getHeight();
Graphics g = getGraphics();
int frameCount = 0;
int factor = 2;
int animatedDelta = 0;
InputStream is = getClass().getResourceAsStream("/audio/mainsong.mp3");
Player p;
try {
p = Manager.createPlayer(is, "audio/mpeg");
p.setLoopCount(-1);
p.start();
} catch (IOException ex) {
ex.printStackTrace();
} catch (MediaException ex) {
ex.printStackTrace();
}
while (mTrucking) {
// create timer for the dragon to move up the map
Timer aTimer = new Timer();
TimerTask firstTask = new TimerTask() {
public void run() {
setDragonState(kMonsterMoveUp);
mMonster.move(0, -3);
mSpikesUp.setVisible(true);
mSpikesDown.setVisible(false);
mCoin.setVisible(false);
mCoin.setVisible(true);
}
};
// create a timer for the dragon to move down the map
TimerTask secondTask = new TimerTask() {
public void run() {
setDragonState(kMonsterMoveDown);
mMonster.move(0, 3);
mSpikesUp.setVisible(false);
mSpikesDown.setVisible(true);
mCoin.setVisible(true);
mCoin.setVisible(false);
}
};
// continueos loop so the dragon will keep moving up and down the map
if (infinateLoop >= 0 && infinateLoop < 50) {
aTimer.schedule(firstTask, 1000);
infinateLoop = infinateLoop + 1;
mMonster.nextFrame();
} else if (infinateLoop >= 50 && infinateLoop < 100) {
aTimer.schedule(secondTask, 1000);
infinateLoop = infinateLoop + 1;
mMonster.nextFrame();
} else {
infinateLoop = 0;
}
// what to do if the player hits a coin
if (mQuatsch.collidesWith(mCoin, true)) {
mCoin.setVisible(false);
coins++;
setPoints(getPoints() + 20);
}
if (mQuatsch.collidesWith(mCoin2, true)) {
mCoin2.setVisible(false);
coins++;
setPoints(getPoints() + 20);
}
if (mQuatsch.collidesWith(mStairs, true)) {
aTimer.cancel();
firstTask.cancel();
secondTask.cancel();
countForLevels++;
if(countForLevels<10){
for (int i = 0; i < map[countForLevels].length; i++) {
int column = i % 8;
int row = (i - column)/8;
mBackground.setCell(column, row, map[countForLevels][i]);
}
for (int i = 0; i < collsionMap[countForLevels].length; i++) {
int column = i % 8;
int row = (i - column)/8;
mCollisionBackground.setCell(column, row, collsionMap[countForLevels][i]);
}
for (int i = 0; i < doorMap[countForLevels].length; i++) {
int column = i % 8;
int row = (i - column)/8;
mCollisionDoor.setCell(column, row, doorMap[countForLevels][i]);
}
mCollisionDoor.setVisible(true);
mKey.setVisible(true);
mCoin.setVisible(true);
mCoin2.setVisible(true);
mLayerManager.append(mBackground);
mLayerManager.append(mCollisionBackground);
mLayerManager.append(mCollisionDoor);
//resetItems(int bg_x, int bg_y, int s_x, int s_y, int k_x, int k_y, int su_x, int su_y, int sd_x, int sd_y, int m_x, int m_y, int c_x, int c_y)
if (countForLevels == 1) {
resetItems(-450, -300, -40, 40, 150, -70, -50, 228, -158, 180, 10000, 10000, -330, -170, -300, 70);//170
} else if (countForLevels == 2) {
resetItems(12, 0, 226, 315, 420, 300, 520, 144, 520, 96, 10000, 10000, 615, 115, 605, 515);//115
} else if (countForLevels == 3) {
resetItems(-450, -300, -330, 200, 150, -70, -230, -156, -230, -204, 10000, 10000, -330, -170, -300, -170);
} else if (countForLevels == 4) {
resetItems(12, 0, 606, 120, 420, 100, 10000, 10000, 10000, 10000, 410, 344, 320, 330, 320, 300);
} else if (countForLevels == 5) {
resetItems(-450, -300, -332, -72, -332, 200, 10000, 10000, 10000, 10000, -137, 130, 150, -70, 100, -70);//mite be -115 n 300, 200 , 100
} else if (countForLevels == 6) {
resetItems(12, 0, 130, 505, 250, 110, 10000, 10000, 10000, 10000, 410, 300, 615, 215, 605, 215);
} else if (countForLevels == 7) {
resetItems(-450, -300, -332, -175, -50, 200, -98, 228, -98, 180, 10000, 10000, -130, -170, -100, -170);
} else if (countForLevels == 8) {
resetItems(12, 0, 606, 215, 620, 425, 10000, 10000, 10000, 10000, 520, 465, 620, 525, 660, 525);
} else if (countForLevels == 9) {
resetItems(-450, -300, -332, -175, 150, -170, -28, 228, -28, 180, 10000, 10000, -40, -40, -20, -40);
}
}
}
if (mQuatsch.collidesWith(mSpikesUp, true)) {
if (countForLevels == 1) {
resetItems(-450, -300, -40, 40, 150, -70, -50, 228, -158, 180, 10000, 10000, -330, -170, -300, -170);
} else if (countForLevels == 2) {
resetItems(12, 0, 226, 315, 420, 300, 520, 144, 520, 96, 10000, 10000, 615, 115, 605, 115);
} else if (countForLevels == 3) {
resetItems(-450, -300, -330, 200, 150, -70, -230, -156, -230, -204, 10000, 10000, -330, -170, -300, -170);
} else if (countForLevels == 4) {
resetItems(12, 0, 606, 120, 420, 100, 10000, 10000, 10000, 10000, 410, 344, 320, 330, 320, 300);
} else if (countForLevels == 5) {
resetItems(-450, -300, -332, -72, -332, 200, 10000, 10000, 10000, 10000, -137, 130, 150, -70, 100, -70);//mite be -115 n 300, 200 , 100
} else if (countForLevels == 6) {
resetItems(12, 0, 130, 505, 250, 110, 10000, 10000, 10000, 10000, 410, 300, 615, 215, 605, 215);
} else if (countForLevels == 7) {
resetItems(-450, -300, -332, -175, -50, 200, -98, 228, -98, 180, 10000, 10000, -130, -170, -100, -170);
} else if (countForLevels == 8) {
resetItems(12, 0, 606, 215, 620, 425, 10000, 10000, 10000, 10000, 520, 465, 620, 525, 660, 525);
} else if (countForLevels == 9) {
resetItems(-450, -300, -332, -175, 150, -170, -28, 228, -28, 180, 10000, 10000, -40, -40, -20, -40);
}
lives--;
}
if (mQuatsch.collidesWith(mSpikesDown, true)) {
if (countForLevels == 1) {
resetItems(-450, -300, -40, 40, 150, -70, -50, 228, -158, 180, 10000, 10000, -330, -170, -300, -170);
} else if (countForLevels == 2) {
resetItems(12, 0, 226, 315, 420, 300, 520, 144, 520, 96, 10000, 10000, 615, 115, 605, 115);
} else if (countForLevels == 3) {
resetItems(-450, -300, -330, 200, 150, -70, -230, -156, -230, -204, 10000, 10000, -330, -170, -300, -170);
} else if (countForLevels == 4) {
resetItems(12, 0, 606, 120, 420, 100, 10000, 10000, 10000, 10000, 410, 344, 320, 330, 320, 300);
} else if (countForLevels == 5) {
resetItems(-450, -300, -332, -72, -332, 200, 10000, 10000, 10000, 10000, -137, 130, 150, -70, 100, -70);//mite be -115 n 300, 200 , 100
} else if (countForLevels == 6) {
resetItems(12, 0, 130, 505, 250, 110, 10000, 10000, 10000, 10000, 410, 300, 615, 215, 605, 215);
} else if (countForLevels == 7) {
resetItems(-450, -300, -332, -175, -50, 200, -98, 228, -98, 180, 10000, 10000, -130, -170, -100, -170);
} else if (countForLevels == 8) {
resetItems(12, 0, 606, 215, 620, 425, 10000, 10000, 10000, 10000, 520, 465, 620, 525, 660, 525);
} else if (countForLevels == 9) {
resetItems(-450, -300, -332, -175, 150, -170, -28, 228, -28, 180, 10000, 10000, -40, -40, -20, -40);
}
lives--;
}
// what to do if a player hits a key
if (mQuatsch.collidesWith(mKey, true)) {
mKey.setVisible(false);
System.out.println(keys);
keys = keys + 1;
setPoints(getPoints() + 50);
System.out.println(keys);
}
// what to do if the player hits a monster
if (mQuatsch.collidesWith(mMonster, true)) {
if (countForLevels == 1) {
resetItems(-450, -300, -40, 40, 150, -70, -50, 228, -158, 180, 10000, 10000, -330, -170, -300, -170);
} else if (countForLevels == 2) {
resetItems(12, 0, 226, 315, 420, 300, 520, 144, 520, 96, 10000, 10000, 615, 115, 605, 115);
} else if (countForLevels == 3) {
resetItems(-450, -300, -330, 200, 150, -70, -230, -156, -230, -204, 10000, 10000, -330, -170, -300, -170);
} else if (countForLevels == 4) {
resetItems(12, 0, 606, 120, 420, 100, 10000, 10000, 10000, 10000, 410, 344, 320, 330, 320, 300);
} else if (countForLevels == 5) {
resetItems(-450, -300, -332, -72, -332, 200, 10000, 10000, 10000, 10000, -137, 130, 150, -70, 100, -70);//mite be -115 n 300, 200 , 100
} else if (countForLevels == 6) {
resetItems(12, 0, 130, 505, 250, 110, 10000, 10000, 10000, 10000, 410, 300, 615, 215, 605, 215);
} else if (countForLevels == 7) {
resetItems(-450, -300, -332, -175, -50, 200, -98, 228, -98, 180, 10000, 10000, -130, -170, -100, -170);
} else if (countForLevels == 8) {
resetItems(12, 0, 606, 215, 620, 425, 10000, 10000, 10000, 10000, 520, 465, 620, 525, 660, 525);
} else if (countForLevels == 9) {
resetItems(-450, -300, -332, -175, 150, -170, -28, 228, -28, 180, 10000, 10000, -40, -40, -20, -40);
}
lives--;
}
if (isShown()) {
int keyStates = getKeyStates();
if ((keyStates & LEFT_PRESSED) != 0) {
setDirection(kLeft);
movingCharacter(kRunning, 10, 0, -10, 0);
} else if ((keyStates & RIGHT_PRESSED) != 0) {
setDirection(kRight);
movingCharacter(kRunning, -10, 0, 10, 0);
} else if ((keyStates & UP_PRESSED) != 0) {
movingCharacter(kRunningUp, 0, 10, 0, -10);
} else if ((keyStates & DOWN_PRESSED) != 0) {
movingCharacter(kRunningDown, 0, -10, 0, 10);
} else {
setState(kStanding);
mCoin.nextFrame();
mCoin2.nextFrame();
}
frameCount++;
if (frameCount % factor == 0) {
int delta = 1;
if (frameCount/factor < 10) {
delta = -1;
}
mAtmosphere.move(delta, 0);
if (frameCount/factor == 20) {
frameCount = 0;
}
mBackground.setAnimatedTile(mAnimatedIndex,
8 + animatedDelta++);
if (animatedDelta == 3) {
animatedDelta = 0;
}
}
g.setColor(0x5b1793);
g.fillRect(0, 0, w, h);
mLayerManager.paint(g, 0, 0);
flushGraphics();
}
try {
Thread.sleep(80);
} catch (InterruptedException ie) {
}
if (lives == 0) {
stop();
g.drawImage(gameOver,10,50,Graphics.TOP | Graphics.LEFT);
repaint();
}
if(countForLevels == 10){
stop();
g.drawImage(youWin,10,50,Graphics.TOP | Graphics.LEFT);
repaint();
}
}
//String pointsString = Integer.toString(points);
//String levelString = Integer.toString(level);
//mScoreListener.collectItems(pointsString, levelString);
System.out.println("Points = " + getPoints() + "\nLevel = " + currentLevel);
}
public void movingCharacter(int state, int x, int y, int a, int b) {
setState(state);
mBackground.move(x, y);
mCollisionBackground.move(x, y);
mCollisionDoor.move(x, y);
mAtmosphere.move(x, y);
mCoin.move(x, y);
mCoin2.move(x, y);
mStairs.move(x, y);
mMonster.move(x, y);
mKey.move(x, y);
mQuatsch.nextFrame();
mCoin.nextFrame();
mCoin2.nextFrame();
mSpikesUp.move(x, y);
mSpikesDown.move(x, y);
// if the player hits a wall
if (mQuatsch.collidesWith(mCollisionBackground, true)) {
mBackground.move(a, b);
mCollisionBackground.move(a, b);
mCollisionDoor.move(a, b);
mAtmosphere.move(a, b);
mCoin.move(a, b);
mCoin2.move(a, b);
mStairs.move(a, b);
mKey.move(a, b);
mMonster.move(a, b);
mSpikesUp.move(a, b);
mSpikesDown.move(a, b);
}
// if the user hits a door with a key and without a key
if (mQuatsch.collidesWith(mCollisionDoor, true)) {
if (keys > 0) {
System.out.println("hit wall with key" + doorMap[0][34]);
//doorMap[0][34] = 0;
mCollisionDoor.setVisible(false);
keys--;
mLayerManager.append(mCollisionDoor);
//mLayerManager.remove(mCollisionDoor);
setPoints(getPoints() + 10);
System.out.println("hit wall with key after changes" + doorMap[0][34]);
} else {
System.out.println("hit wall without key");
mBackground.move(a, b);
mCollisionBackground.move(a, b);
mCollisionDoor.move(a, b);
mAtmosphere.move(a, b);
mCoin.move(a, b);
mCoin2.move(a, b);
mStairs.move(a, b);
mMonster.move(a, b);
mKey.move(a, b);
mSpikesUp.move(a, b);
mSpikesDown.move(a, b);
}
}
}
public void resetItems(int bg_x, int bg_y, int s_x, int s_y, int k_x, int k_y, int su_x, int su_y, int sd_x, int sd_y, int m_x, int m_y, int c_x, int c_y, int c2_x, int c2_y) {
mBackground.setPosition(bg_x, bg_y);
mCollisionBackground.setPosition(bg_x, bg_y);
mCollisionDoor.setPosition(bg_x, bg_y);
mStairs.setPosition(s_x, s_y);
mKey.setPosition(k_x, k_y);
mSpikesUp.setPosition(su_x, su_y);
mSpikesDown.setPosition(sd_x, sd_y);
mMonster.setPosition(m_x, m_y);
mCoin.setPosition(c_x, c_y);
mCoin2.setPosition(c2_x, c2_y);
}
public void stop() {
mTrucking = false;
}
public void setVisible(int layerIndex, boolean show) {
Layer layer = mLayerManager.getLayerAt(layerIndex);
layer.setVisible(show);
}
public boolean isVisible(int layerIndex) {
Layer layer = mLayerManager.getLayerAt(layerIndex);
return layer.isVisible();
}
private void setDirection(int newDirection) {
if (newDirection == mDirection) {
return;
}
if (mDirection == kLeft) {
mQuatsch.setTransform(Sprite.TRANS_MIRROR);
} else if (mDirection == kRight) {
mQuatsch.setTransform(Sprite.TRANS_NONE);
}
mDirection = newDirection;
}
public static int getPoints() {
return points;
}
/**
* @param aPoints the points to set
*/
public static void setPoints(int aPoints) {
points = aPoints;
}
private void setState(int newState) {
if (newState == mState) {
return;
}
switch (newState) {
case kStanding:
mQuatsch.setFrameSequence(kStandingSequence);
mQuatsch.setFrame(0);
break;
case kRunning:
mQuatsch.setFrameSequence(kRunningSequence);
break;
case kRunningUp:
mQuatsch.setFrameSequence(kRunningSequenceUp);
break;
case kRunningDown:
mQuatsch.setFrameSequence(kRunningSequenceDown);
break;
case kCoinSpin:
mQuatsch.setFrameSequence(kCoinSpinning);
break;
case kMonsterMoveUp:
mMonster.setFrameSequence(kMonsterUp);
break;
case kMonsterMoveDown:
mMonster.setFrameSequence(kMonsterDown);
break;
default:
break;
}
mState = newState;
}
private void setDragonState(int newState) {
if (newState == dState) {
return;
}
switch (newState) {
case kStanding:
mMonster.setFrameSequence(kStandingSequence);
mMonster.setFrame(0);
break;
case kMonsterMoveUp:
mMonster.setFrameSequence(kMonsterUp);
break;
case kMonsterMoveDown:
mMonster.setFrameSequence(kMonsterDown);
break;
default:
break;
}
dState = newState;
}
おかげ
私は申し訳ありませんが、これはofftopicです。 FAQを参照してください: "あなたの知識の中で、コードは機能しますか?"それは動作しないので、StackOverflow上にあるはずです。 –
yaコードは動作しますが、2番目のコインとサウンドを取り出すとうまく動作しますが、それらを入れたらレベル3までしか動作せず、次にこのエラーがスローされます –
コードにフィードバックが必要な場合はここに質問があります。あなたのコードを修正するのに役立つ場合、それはスタックオーバーフローに属しています、私は今この問題を移行しました。 – sepp2k