Hi guys,
I am trying to make this game for school and was getting this error:
C:\WTK2.5.1\apps\QuatschMIDlet\src\QuatschCanvas.java:179: cannot find symbol
symbol : variable mHighScoresForm
location: class QuatschCanvas
mDisplay.setCurrent(mHighScoresForm);
I understand that it is saying that it can't recognise mHighScoresForm, but all the variables are set up. I can't figure out where to go from here and a little help is all I'm looking for. File is called QuatschCanvas.java, and here's my code:
And this is the MIDlet code, file is called QuatschMIDlet.java:
You guys are always really helpful and maybe someone understands what I am doing wrong. If you can help thanks.
I am trying to make this game for school and was getting this error:
C:\WTK2.5.1\apps\QuatschMIDlet\src\QuatschCanvas.java:179: cannot find symbol
symbol : variable mHighScoresForm
location: class QuatschCanvas
mDisplay.setCurrent(mHighScoresForm);
I understand that it is saying that it can't recognise mHighScoresForm, but all the variables are set up. I can't figure out where to go from here and a little help is all I'm looking for. File is called QuatschCanvas.java, and here's my code:
Code:
import java.io.IOException; import javax.microedition.lcdui.*; import javax.microedition.lcdui.game.*; public class QuatschCanvas extends GameCanvas implements Runnable { private boolean mTrucking; private LayerManager mLayerManager; private TiledLayer mAtmosphere; private TiledLayer mBackground; private int mAnimatedIndex; private Sprite mQuatsch; private int mState, mDirection; private static final int kStanding = 1; private static final int kRunning = 2; private static final int kLeft = 1; private static final int kRight = 2; private static final int[] kRunningSequence = { 0, 1, 2 }; private static final int[] kStandingSequence = { 3 }; private QuatschMIDlet mMIDlet; public QuatschCanvas(String quatschImageName, String atmosphereImageName, String backgroundImageName, QuatschMIDlet m)throws IOException { super(true); // Create a LayerManager. mLayerManager = new LayerManager(); int w = getWidth(); int h = getHeight(); mLayerManager.setViewWindow(96, 0, w, h); //new mMIDlet = m; createBackground(backgroundImageName); createAtmosphere(atmosphereImageName); createQuatsch(quatschImageName); } private void createBackground(String backgroundImageName) throws IOException { // Create the tiled layer. Image backgroundImage = Image.createImage(backgroundImageName); int[] map = { 1, 2, 0, 0, 0, 0, 0, 0, 3, 3, 2, 0, 0, 0, 5, 0, 3, 3, 3, 2, 4, 1, 3, 2, 6, 6, 6, 6, 6, 6, 6, 6 }; mBackground = new TiledLayer(8, 4, backgroundImage, 48, 48); mBackground.setPosition(12, 0); for (int i = 0; i < map.length; i++) { int column = i % 8; int row = (i - column) / 8; mBackground.setCell(column, row, map[i]); } mAnimatedIndex = mBackground.createAnimatedTile(8); mBackground.setCell(3, 0, mAnimatedIndex); mBackground.setCell(5, 0, mAnimatedIndex); mLayerManager.append(mBackground); } 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, 96); 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, 96); mQuatsch.defineReferencePixel(24, 24); setDirection(kLeft); setState(kStanding); mLayerManager.insert(mQuatsch, 1); } 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; while (mTrucking) { if (isShown()) { int keyStates = getKeyStates(); if ((keyStates & LEFT_PRESSED) != 0) { setDirection(kLeft); setState(kRunning); mBackground.move(3, 0); mAtmosphere.move(3, 0); mQuatsch.nextFrame(); } else if ((keyStates & RIGHT_PRESSED) != 0) { setDirection(kRight); setState(kRunning); mBackground.move(-3, 0); mAtmosphere.move(-3, 0); mQuatsch.nextFrame(); } else { setState(kStanding); } 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) {} } } //new public void afterGame(int score) { mDisplay.setCurrent(mHighScoresForm); } 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; } 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; default: break; } mState = newState; } }
Code:
import java.io.IOException; import javax.microedition.lcdui.*; import javax.microedition.midlet.MIDlet; public class QuatschMIDlet extends MIDlet implements CommandListener { private Display mDisplay; private QuatschCanvas mQuatschCanvas; private Form mShowForm; private Command mExitCommand, mShowCommand, mOkCommand; private Command mNewGameCommand; private Form mHighScoresForm; public void startApp() { if (mQuatschCanvas == null) { try { mQuatschCanvas = new QuatschCanvas("/quatsch.png", "/atmosphere.png", "/background_tiles.png", this); mExitCommand = new Command("Exit", Command.EXIT, 0); mShowCommand = new Command("Show/Hide", Command.SCREEN, 0); mOkCommand = new Command("OK", Command.OK, 0); mQuatschCanvas.addCommand(mExitCommand); mQuatschCanvas.addCommand(mShowCommand); mQuatschCanvas.setCommandListener(this); mNewGameCommand = new Command("New Game", Command.OK, 0); mHighScoresForm = new Form("High Scores"); mHighScoresForm.addCommand(mNewGameCommand); mHighScoresForm.addCommand(mExitCommand); mHighScoresForm.setCommandListener(this); } catch (IOException ioe) { System.out.println(ioe); } } mDisplay = Display.getDisplay(this); mDisplay.setCurrent(mQuatschCanvas); mDisplay.setCurrent(mHighScoresForm); } public void pauseApp() {} public void destroyApp(boolean unconditional) { mQuatschCanvas.stop(); } public void commandAction(Command c, Displayable s) { if (c.getCommandType() == Command.EXIT) { destroyApp(true); notifyDestroyed(); } else if(c==mNewGameCommand) { mQuatschCanvas.start(); mDisplay.setCurrent(mQuatschCanvas); } else if (c == mShowCommand) { if (mShowForm == null) { mShowForm = new Form("Show/Hide"); ChoiceGroup cg = new ChoiceGroup("Layers", Choice.MULTIPLE); cg.append("Fog", null); cg.append("Dr. Quatsch", null); cg.append("Background", null); mShowForm.append(cg); mShowForm.addCommand(mOkCommand); mShowForm.setCommandListener(this); } ChoiceGroup cg = (ChoiceGroup)mShowForm.get(0); cg.setSelectedIndex(0, mQuatschCanvas.isVisible(0)); cg.setSelectedIndex(1, mQuatschCanvas.isVisible(1)); cg.setSelectedIndex(2, mQuatschCanvas.isVisible(2)); mDisplay.setCurrent(mShowForm); } else if (c == mOkCommand) { ChoiceGroup cg = (ChoiceGroup)mShowForm.get(0); mQuatschCanvas.setVisible(0, cg.isSelected(0)); mQuatschCanvas.setVisible(1, cg.isSelected(1)); mQuatschCanvas.setVisible(2, cg.isSelected(2)); mDisplay.setCurrent(mQuatschCanvas); } } }
Last edited by Scardaddy (2007-11-29 18:03:26)