Author: matheus23 (posted 2013-01-03 20:45:59, viewed 178 times)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
| package de.darwin.resourcedemo;
import java.awt.*;
import java.awt.image.*;
import darwin.resourcehandling.dependencies.ResourceHandlingModul;
import darwin.resourcehandling.dependencies.annotation.InjectResource;
import com.google.inject.*;
import javax.swing.JFrame;
public class App extends JFrame {
@InjectResource(file = "logo3.png")
private ImageWrapper logo;
public App() throws HeadlessException {
super("Simple Demo");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setIgnoreRepaint(true);
setBounds(0, 0, 800, 600);
setResizable(false);
setVisible(true);
createBufferStrategy(2);
}
public void start() {
BufferStrategy bs = getBufferStrategy();
while (true) {
Graphics2D drawGraphics = (Graphics2D) bs.getDrawGraphics();
drawGraphics.clearRect(0, 0, 800, 600);
BufferedImage i = logo.getImg();
drawGraphics.drawImage(i, 400 - i.getWidth() / 2, 300 - i.getHeight() / 2, null);
bs.show();
Toolkit.getDefaultToolkit().sync();
}
}
public static void main(String... args) {
Guice.createInjector(Stage.DEVELOPMENT, new ResourceHandlingModul())
.getInstance(App.class).start();
}
} |
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
package de.darwin.resourcedemo;
import java.awt.image.BufferedImage;
public class ImageWrapper {
private BufferedImage img;
public ImageWrapper(BufferedImage img) {
this.img = img;
}
public BufferedImage getImg() {
return img;
}
public void setImg(BufferedImage img) {
if (img != null) {
this.img = img;
}
}
} |
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
package de.darwin.resourcedemo;
import java.awt.image.BufferedImage;
import java.io.IOException;
import darwin.annotations.ServiceProvider;
import darwin.resourcehandling.factory.*;
import darwin.resourcehandling.handle.ResourceHandle;
import javax.imageio.ImageIO;
@ServiceProvider(ResourceFromHandleProvider.class)
public class ImageLoader extends ResourceFromHandleProvider<ImageWrapper> implements ResourceFromHandle<ImageWrapper> {
public ImageLoader() {
super(ImageWrapper.class);
}
@Override
public ImageWrapper create(ResourceHandle handle) throws IOException {
return new ImageWrapper(createImage(handle));
}
private BufferedImage createImage(ResourceHandle handle) throws IOException
{
return ImageIO.read(handle.getStream());
}
@Override
public void update(ResourceHandle changed, ImageWrapper wrapper) {
try {
wrapper.setImg(createImage(changed));
} catch (IOException ex) {
}
}
@Override
public ImageWrapper getFallBack() {
return new ImageWrapper(new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB));
}
@Override
public ResourceFromHandle<ImageWrapper> get(String[] options) {
return new ImageLoader();
}
} |
Special syntax:
- To highlight a line (yellow background), prefix it with '@@'
- To indicate that a line should be removed (red background), prefix it with '-'
- To indicate that a line should be added (green background), prefix it with '+'
- To post multiple snippets, seperate them by '~~~~'
|
Add your game by posting it in the WIP section,
or publish it in Showcase.
The first screenshot will be displayed as a thumbnail.
|
|