можеш попробовать мой класс Спрайта, а то ведь оригинальный Sprite только в midp 2 
| Код | import javax.microedition.lcdui.Image; import javax.microedition.lcdui.Graphics;
/** * Created by IntelliJ IDEA. * User: vmishenko * Date: 26.07.2006 * Time: 16:57:18 * To change this template use File | Settings | File Templates. */ public class SpriteMy { private int cordX = 0; private int cordY = 0; protected int frameW; protected int frameH; private int framesNumber; private int currentFrameNo = 1; private Image sprite ; private int headX =cordX; private int headY =cordY ; private Quiz q; /*----------------------------------------------------------------------------------------------*/ public SpriteMy(){} /*----------------------------------------------------------------------------------------------*/ public SpriteMy(Image im,int w, int h, Quiz midlet){ this.q = midlet; this.sprite = Image.createImage(im); this.frameW = w; this.frameH = h; this.framesNumber = (im.getHeight()==h? (im.getWidth()/w):(im.getHeight()/h));
System.out.println("Frames # ="+framesNumber); } /*----------------------------------------------------------------------------------------------*/ void setLocation(int x, int y){ this.cordX = x; this.cordY = y; headX =cordX; headY =cordY ; } /*----------------------------------------------------------------------------------------------*/ void paint(Graphics g){ g.setClip(cordX,cordY,frameW,frameH); g.drawImage(this.sprite,headX,headY,Graphics.TOP|Graphics.LEFT); g.setClip(0,0,q.canvasW,q.canvasH); g.setColor(0xffffff); g.drawRect(cordX,cordY,frameW,frameH); } /*----------------------------------------------------------------------------------------------*/ void nextFrame(){ headX = headX - frameW; currentFrameNo ++; if (currentFrameNo > framesNumber){ headX = cordX; currentFrameNo = 1; } } /*----------------------------------------------------------------------------------------------*/ void prevFrame(){ headX = headX + frameW; currentFrameNo --; if (currentFrameNo < 1){ currentFrameNo = framesNumber; headX = cordX - (framesNumber-1) * frameW; } } /*----------------------------------------------------------------------------------------------*/ }
|
|