Author: davedes (posted 2012-07-19 05:24:40, viewed 113 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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
| package slicktests;
import org.lwjgl.opengl.Display;
import org.lwjgl.opengl.GL11;
import org.newdawn.slick.AngelCodeFont;
import org.newdawn.slick.AppGameContainer;
import org.newdawn.slick.BasicGame;
import org.newdawn.slick.Color;
import org.newdawn.slick.Font;
import org.newdawn.slick.GameContainer;
import org.newdawn.slick.Graphics;
import org.newdawn.slick.Image;
import org.newdawn.slick.SlickException;
import org.newdawn.slick.geom.Shape;
import org.newdawn.slick.geom.Transform;
import org.newdawn.slick.gui.TextField;
import org.newdawn.slick.opengl.renderer.Renderer;
import org.newdawn.slick.opengl.renderer.SGL;
public class FillRateTest extends BasicGame {
static final int WIDTH = 800;
static final int HEIGHT = 600;
FillRateTest() { super("Particles!"); }
public static void main(String[] args) throws SlickException {
Renderer.setRenderer(Renderer.VERTEX_ARRAY_RENDERER);
new AppGameContainer(new FillRateTest(), WIDTH, HEIGHT, false).start();
}
Font font;
Image sprite;
int ballCount = 1000; Ball[] balls = new Ball[100000];
public void init(GameContainer container) throws SlickException {
sprite = new Image("res/small.png", false, Image.FILTER_NEAREST);
for (int i=0; i<balls.length; i++) {
balls[i] = new Ball();
}
container.setShowFPS(false);
container.setClearEachFrame(false);
}
public void render(GameContainer container, Graphics g) throws SlickException {
g.clear();
sprite.startUse();
for (int i=0; i<ballCount; i++) {
sprite.drawEmbedded(balls[i].x, balls[i].y, sprite.getWidth(), sprite.getHeight());
}
sprite.endUse();
Display.setTitle(ballCount+" "+container.getFPS());
}
public void update(GameContainer container, int delta)
throws SlickException {
for (int i=0; i<ballCount; i++) {
balls[i].update(delta);
}
}
public void keyPressed(int key, char c) {
if (c=='a') {
ballCount -= 500;
} else if (c=='q') {
ballCount += 500;
}
}
class Ball {
float x, y;
float vx = .03f;
float vy = .03f;
Ball() {
x = (float)Math.random()*WIDTH;
y = (float)Math.random()*HEIGHT;
}
public void update(long delta) {
x += vx * delta;
y += vy * delta;
if(x+sprite.getWidth() >= WIDTH) {
x = WIDTH-sprite.getWidth()-1;
vx = -vx;
}
else if(x <= 0) {
x = 1;
vx = -vx;
}
if(y+sprite.getHeight() >= HEIGHT) {
y = HEIGHT-sprite.getHeight()-1;
vy = -vy;
}
else if(y <= 0) {
y = 1;
vy = -vy;
}
}
}
} |
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.
|
|