📄 mysprite.java
字号:
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.Sprite;
public class MySprite
{
int[][] pd;
int[] fs;
int fi;
int x,y;
Image im;
int w,h,dx,dy;
boolean f;
int z;
public MySprite (Image _im,int[][] _pd,int[] _fs,int _x,int _y,int _z)
{
im = _im;
pd = _pd;
fs = _fs;
x = _x;
y = _y;
z = _z;
fi = 0;
}
public MySprite (Image _im,int[][] _pd,int[] _fs)
{
x = y = fi = 0;
fs = _fs;
im = _im;
pd = _pd;
}
public MySprite (Image _im,int[][] _pd)
{
x = y = fi = 0;
im = _im;
pd = _pd;
fs = new int [pd.length ];
for (int i=0;i<pd.length ;i++)
fs[i] = i;
}
public MySprite (Image _im,int[]fs,int _w,int _h,int _dx,int _dy)
{
im = _im;
w = _w;
h = _h;
dx = _dx;
dy = _dy;
fi = 0;
}
public MySprite (Image _im,int _w,int _h,int _dx,int _dy)
{
im = _im;
w = _w;
h = _h;
dx = _dx;
dy = _dy;
fs = new int [(im.getWidth() /w)*(im.getHeight () /h)];
for (int i=0;i<fs.length ;i++)
{
fs[i] = i;
}
}
public void render(Graphics g,int cx,int cy)
{
if (f == false)
{
if (pd != null)
{
Tools.paintImage( g,im,x-pd[fs[fi]][4]-cx,z+y-pd[fs[fi]][5]-cy,pd[fs[fi]][0],pd[fs[fi]][1],pd[fs[fi]][2],pd[fs[fi]][3]);
}
else
{
Tools.paintImage( g,im,x-dx-cx,y-dy-cy,fs[fi]*w,0,w,h);
}
}
else
{
if (pd != null)
{
g.drawRegion( im,pd[fs[fi]][0],pd[fs[fi]][1],pd[fs[fi]][2],pd[fs[fi]][3],Sprite.TRANS_MIRROR ,x-pd[fs[fi]][2]+pd[fs[fi]][4]-cx,z+y-pd[fs[fi]][5]-cy,0);
}
else
{
g.drawRegion(im,fs[fi]*w,0,w,h,Sprite.TRANS_MIRROR ,x-dx-cx,y-dy-cy,0);
}
}
}
public void nextFrame()
{
fi++;
if (fi ==fs.length )
{
fi = 0;
}
}
public void setfs(int[] _fs)
{
fs = _fs;
fi = 0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -