hajdo:
Jag tycker att du ska ta och köpa dig en bra bok om Java. Jag rekommenderar Wrox böcker( https://www.wrox.com). Tycker själv att de är bra.
Hittade följande nyss:
http://oopweb.com/Java/Documents/ThinkingInJava/VolumeFrames.html?/Java/Documents/ThinkingInJava/Volume/AppendixC.html
Innan du börjar göra mer avancerade grejer bör du lära dig grunderna i Java och i OOP (objektorienterad programmering).
Lär dig hur en klass fungerar, hur du använder interface, hur du ärver osv. Känn till vad variable scope betyder. Börja med enkla exempel. Du kan inte göra ett spel andra dagen.
Börja inte med grafiska saker utan håll dig till konsoll-program så kan du koncentrera dig bättre på grunderna.
Lär dig använda Java's api doc:
http://java.sun.com/j2se/1.4.2/docs/api/
Den kommer att vara väl till hands när du utvecklar dina program.
Vi hjälper dig gärna men försöker vi nu förklara för dig hur man gör an java-applet så blir det nog för mycket för dig (och åt oss också).
https://www.java.sun.com har utmärkta tutorials som du kan följa.
http://java.sun.com/learning/tutorial/index.html
Några tips:
Objekt som skapas inuti metoder syns bara i just den metoden.
Vill du att en variabel skall vara åtkomlig för hela klassen och kanske även för andra klasser så måste du deklarera dem som klass-variablar.
public class Klass
{
int tal; // klass-variabel, synlig för hela klassen
public Klass()
{
tal = 10;
}
public void metod()
{
int tal2 = 10; // synligt enbart för metoden metod()
int tal = 15; // inte samma som klass-variabeln!!!
}
}
Sen laddar du in bilden i paint() metoden. Kom ihåg att inladdning av bilder kan vara tids-krävande och eftersom paint() metoden anropas då nåt behövs uppdateras(vilket händer ofta i spel) så blir det mycket overhead i och med att man måste ladda in bilden igen varje gång.
Varför inte ladda in bilden en gång istället?
Lägg in den raden i init() metoden istället. Kom dock ihåg att göra ImageIcon-objektet åtkomligt får paint() metoden genom att den i början av klassen:
public class Game extends JApplet
{
// här deklarerar du alla klass-variablar
ImageIcon image;
public void init()
{
...
}
I den nyare versionen av den kod som du publicerat så har du en knapp med namnet button i koden, men jag ser inte att du har deklarerat den nånstans. Det måste du göra innan du kan använda den.
Du har:
button.addActionListener(this); // denna rad lägger du in init() metoden efter att ha deklarerat samt initierat knappen(button).
men du har inte:
JButton button;
button = new JButton("knapp"); // lägg denna i init() metoden.
Med nyckelordet new skapar du en instans av en viss klass.
Sen har du sen System.out.println() sats i actionPerformed() metoden.
System.out.println() skriver ut text endast i konsollen och inte i en applet. Denna förfarande kan vara tillhands då man debuggar sin kod. Då ser man texten antingen i webläsarens Java-konsoll eller i konsollen som startas med javac.