📄 spritemanager.java
字号:
import java.util.*;
import javax.microedition.lcdui.*;
public class SpriteManager
{
private Vector list;
private int width;
private int height;
public SpriteManager(int width, int height)
{
this.width = width;
this.height = height;
list = new Vector();
}
public boolean collide(Sprite sprite)
{
for (int i = 0; i < list.size(); i++)
{
Sprite comparableSprite = (Sprite)list.elementAt(i);
if (sprite.collide(comparableSprite))
return true;
}
return false;
}
public Sprite collideSprite(Sprite sprite)
{
for (int i = 0; i < list.size(); i++)
{
Sprite comparableSprite = (Sprite)list.elementAt(i);
if (sprite.collide(comparableSprite))
return comparableSprite;
}
return null;
}
public void addSprite(Sprite sprite)
{
list.addElement(sprite);
}
public void insertSprite(Sprite sprite, int position)
{
list.insertElementAt(sprite, position);
}
public int getSpritePosition(Sprite sprite)
{
for (int i = 0; i < list.size(); i++)
{
Sprite comparableSprite = (Sprite)list.elementAt(i);
if (sprite.equals(comparableSprite))
return i;
}
return -1;
}
public Sprite getSprite(int index)
{
return (Sprite)list.elementAt(index);
}
public void deleteSprite(Sprite sprite)
{
deleteSprite(getSpritePosition(sprite));
}
public void deleteSprite(int position)
{
list.removeElementAt(position);
}
public int size()
{
return list.size();
}
public void paint(Graphics g)
{
for (int i = 0; i < list.size(); i++)
{
Sprite sprite = (Sprite)list.elementAt(i);
if (((int)Float.getInteger(sprite.getX()) + sprite.getWidth() > 0) &&
((int)Float.getInteger(sprite.getX()) < width) &&
((int)Float.getInteger(sprite.getY()) + sprite.getHeight() > 0) &&
((int)Float.getInteger(sprite.getY()) < height))
sprite.paint(g);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -