Hirdetés
- Samsung Galaxy Watch4 és Watch4 Classic - próbawearzió
- Könnyű, egyszerű, mutatós óra a Honortól
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Google Pixel topik
- Xiaomi Watch 2 Pro - oké, Google, itt vagyunk mi is
- Honor Magic6 Pro - kör közepén számok
- Apple iPhone 17 Pro Max – fennsík
- Méretes telekonverter az Oppo Find X9 Ultra hátán
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Telekom mobilszolgáltatások
Új hozzászólás Aktív témák
-
Alvin_ti4200
félisten
válasz
Lortech
#1127
üzenetére
van két osztályom (a harmadik nem érdekes):
SPRITECANVAS.JAVA
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
import java.util.*;public class SpriteCanvas extends GameCanvas{
public Command exitCommand;
public Sprite1 sprite;BackgroundLayer bgLayer;
LayerManager lm;public SpriteCanvas() throws java.io.IOException {
super(false);exitCommand=new Command("Kilépés",Command.EXIT,0);
addCommand(exitCommand);sprite=new Sprite1();
sprite.setPosition(25,50);
bgLayer=new BackgroundLayer();
lm=new LayerManager();
lm.append(sprite);
lm.append(bgLayer);
}void render(){
Graphics g=getGraphics();g.setColor(255,255,255);
g.fillRect(0,0,getWidth(),getHeight());int dx=0,dy=0;
int[] tomb1={25,85,145,25,85,145,25,85,145};
int[] tomb2={50,50,50,110,110,110,170,170,170};
Random rnd=new Random();
int veletlen=rnd.nextInt(8);
dx=tomb1[veletlen];
dy=tomb2[veletlen];
sprite.next(dx,dy,getWidth(),getHeight(),veletlen);lm.paint(g,0,0);
flushGraphics();}
}SPRITE1.JAVA
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
import java.util.*;public class Sprite1 extends Sprite{
static final int width=60;
static final int height=60;public int mode=0;
static Random rnd=new Random();
static int[] frame_sequence_1={0,1,2,3,4,5,6,7,8};int framecount=0;
public Sprite1() throws java.io.IOException{
super(Image.createImage("/hello/gomb2.png"),width,height);
setFrameSequence(frame_sequence_1);
}public void next(int dx, int dy, int maxX, int maxY, int randomize){
setPosition(dx,dy);
setFrame(randomize);
}
}A lényeg az lenne, hogy a render vagy next hivások között legyen monjuk egy másodpercnyi idő, amíg a lenyomott gombot (még nincs deklarálva) meg tudom vizsgálni, hogy mi volt az. Apropó létezik olyan függvény, amely a lenyomott gomb kódját adja vissza integerben? Mert keyPressed(int number) függvény van, csak az akkor fut le, ha az adott gombot nyomom meg, nekem meg pont fordítva kéne, hogy lenyomás után el tudjam dönteni, hogy melyik számú (49-57 [KEY_NUM1-KEY_NUM9]) gomb volt az és ennek megfelelően csinálni egy szép nagy case elágazást.
A MainMidlet osztályban az egyik menüponthoz hozzárendeltem ezt az eseményt:
try{
spritecanvas=new SpriteCanvas();
spritecanvas.setCommandListener(this);
Display.getDisplay(this).setCurrent(spritecanvas);
thread=new Thread(this);
thread.start();
} catch (IOException E){
destroyApp(true);
}A Runnable interfész miatt kell bele még egy Run metódus is, ezt a Midlet legvégére szúrtam be és így néz ki:
public void run(){
try{
while((thread.isAlive())&&(spritecanvas!=null)){
spritecanvas.render();
thread.sleep(1000);}
} catch (InterruptedException E1){}
}
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- AMD Navi Radeon™ RX 9xxx sorozat
- Kerékpárosok, bringások ide!
- Melyik tápegységet vegyem?
- Alaposan helyretette az AI ellenzőit az NVIDIA vezetője
- PlayStation 5
- Képregény topik
- Kész, vége, ennyi volt: eladja tévés üzletágát a Sony
- Lakáshitel, lakásvásárlás
- Építő/felújító topik
- Nintendo Switch 2
- További aktív témák...
- 212 - Lenovo IdeaPad Slim 5 (16IMH9) - Intel Core U5 125H, no GPU
- 211 - Lenovo Legion 5 (15ITH6H) - Intel Core i7-11800H, RTX 3060
- 210 - Lenovo IdeaPad 5 Pro (16ARH7) - AMD Ryzen 7 6800HS, RTX 3050Ti
- 209 - Lenovo Yoga Pro 7 (14APH8) - AMD Ryzen 7 7840HS, no GPU
- 206 - Lenovo Legion Slim 7 (16IRH8) - Intel Core i7-13700H, RTX 4060
- Alienware 500Hz Gaming Monitor AW2524HF 27% áfás
- Samsung Galaxy S22 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Azonnali készpénzes AMD Ryzen 1xxx 2xxx 3xxx 5xxx processzor felvásárlás személyesen / csomagküldés
- GYÖNYÖRŰ iPhone 13 Pro 128GB Sierra Blue -1 ÉV GARANCIA -Kártyafüggetlen, MS3965
- Újszerű PlayStation 4 Pro 12.02 FW, GoldHEN + 20db PS4 játék (Cyberpunk, God of War és rengeteg más)
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: Laptopműhely Bt.
Város: Budapest


