- Fotók, videók mobillal
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- MWC 2026: Bajnoki címre pályázik a Xiaomi Watch 5
- Magyarországra jön a Vivo 500 megapixeles kameratelefonja
- Xiaomi 17 Ultra - jó az optikája
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Egyszerre startol a legjobb kameratelefon Kínában és Európában
- Apple iPhone 17 Pro Max – fennsík
- Samsung Galaxy S20 és S20+ duplateszt
- Olcsón ad sokat, de a minősége... Kukirin G2 Ultra teszt
Ú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?:))
- Hosszú premier előzetest kapott az Arknights: Endfield
- Revolut
- Csillagfelhő áztatná el Elon Musk űrkarneválját
- Idén lesz tíz éves az AMD Socket AM4 foglalat
- Micro Four Thirds
- Proxmox VE
- sziku69: Fűzzük össze a szavakat :)
- Robotporszívók
- Melyik hordozható audiolejátszót (DAP, MP3, stb.) vegyem?
- sziku69: Szólánc.
- További aktív témák...
- HIBÁTLAN iPhone 12 64GB White-1 ÉV GARANCIA -Kártyafüggetlen, MS4604, 100% AKKSI
- LENOVO ThinkPad X260,12.5",i5-6300U,8GB DDR4,256GB SSD,WIN11
- HIBÁTLAN iPhone 15 Plus 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS4504
- Honor Magic8 Lite 5G 512GB, Kártyafüggetlen, 1 Év Garanciával
- iPhone X 64GB 100% (3 hónap Garancia) - AKCIÓ
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

