sigonasr2
7b29a14e12
|
2 years ago | |
---|---|---|
Java/scripts | 2 years ago | |
bin | 2 years ago | |
docs | 2 years ago | |
lib | 2 years ago | |
sounds | 2 years ago | |
sprites | 2 years ago | |
src/sig | 2 years ago | |
utils | 2 years ago | |
JavaProjectTemplate_0.0a.zip | 2 years ago | |
README.md | 2 years ago | |
manifest | 2 years ago | |
runGame.sh | 2 years ago | |
sig | 2 years ago | |
tmp | 2 years ago |
README.md
PixelEngine
A small pixel-based game / rendering engine made in Java highly influenced and similar to the olcPixelGameEngine.
Usage:
Main engine file is in JavaProjectTemplate.java
. If you choose to rename this file you should probably have your IDE refactor it so all references change accordingly. Better to just leave it as-is.
You will also have to update the sig
script with the new PROJECT_NAME
value.
Window
Window Width, Height, and the title can all be customized.
Drawing
You will find all possible drawing features under the game
Panel object that is initialized for you. Draw commands all start with Draw
or Fill
. The example program contains quite a few of the possible draw commands available.
Sprites
Sprites can be placed in the sprites
folder and referenced accordingly. Instantiating a new Sprite
class or AnimatedSprite
class with the name will auto-load it in. Animated Sprites need their base width and height defined, the engine will figure out the animation frames for the rest of the image. DrawAnimatedSprite
functions request what index of the animation to draw, you feed that yourself. Only horizontal animation strips are supported by default.
Input
Mouse input is handled from the Mouse
static instance. Can poll for Held
,Pressed
, and Released
status of the mouse.
Keyboard input is handled much the same way with the Key
static instance. Also has Held
,Pressed
, and Released
statuses per key. Keycodes come from the Java Swing KeyEvent
class (ex.KeyEvent.VK_UP
).
Sounds
Sounds can be loaded up and played by creating new instances of the Sound
class. There is also a loop variable which determines whether or not a sound loops. You can set it in the constructor using the new Sound(filename,loop)
constructor or set it using the setCanLoop()
function. You can control the volume of a suond using setVolume(val)
where val is a number between 0-100 (percent). By default sounds play at 100% their original volume.
Each sound consumes an active line on your sound device. To clear the line, use the unload()
function, which is useful when your game no longer needs to use that sound or when trying to load a different sound to replace it (say background music).
Building
I include some compile scripts, but you are free to use your own. ./sig
lists all possible commands, ./sig build
builds and tries to run the compiled Java classes. ./sig jar
will output a jar. ./sig zip
will piece together the sprites folder, bin folder, and a run script (for Linux) to run a finished java jar, which provides an easy way to "export" the game.