日期:2014-05-20  浏览次数:20681 次

如何只存放一个图片,以减少内存使用?
我想创建10个外形各不相同的“敌人”的精灵
10个敌人的形象已经做好在一个长条形的图片里
我现在

……
Sprite[10]   enemy   =   null;
……
Image   im   =   Image.createImage( "enemy.png ")
for   (int   i   =   0;   i   <   10;   i++)   {
      enemy[i]   =   new   Sprite(im,   10,   10);//每次new一块内存
      enemy[i].setFrame(i);
}

这样是不是就在内存开了10倍的图片空间了?
我想只在内存仅仅开1个图片的空间
同时每个精灵能setFrame到不同的帧
请问大家
这个怎么实现?

------解决方案--------------------

Image im = Image.createImage( "enemy.png ")
图片只创建了一次, 所以内存中只有一份.
如果Sprite类没发疯的话, 应该都只是对图片的引用而已
------解决方案--------------------
没错