Provides a screen to draw pixels to with a basic rendering update loop and accepts user input
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
sigonasr2 bcdbfe16cb Allow setting the background frame as an image 2 years ago
Java/scripts Update zip packaging 2 years ago
bin Update zip packaging 2 years ago
docs Javadoc go 2 years ago
sounds Include sound engine 2 years ago
sprites Allow setting the background frame as an image 2 years ago
src/sig Allow setting the background frame as an image 2 years ago
utils Beginnings of a separated engine 2 years ago
JavaProjectTemplate_0.0a.zip Update zip packaging 2 years ago
README.md Include volume controls for sound engine. 2 years ago
manifest Update zip packaging 2 years ago
runGame.sh Update zip packaging 2 years ago
sig How naive of me to think everyone uses bash 2 years ago
tmp Initial commit 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. 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.