Add Player Character Sprites
* Added initial walking sprites for the player character, "Boy." * Player doodad filename and title screen level are now configurable in the balance/numbers.go package.
37
dev-assets/doodads/boy/boy.js
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
function main() {
|
||||||
|
var playerSpeed = 12;
|
||||||
|
var gravity = 4;
|
||||||
|
var Vx = Vy = 0;
|
||||||
|
|
||||||
|
var animating = false;
|
||||||
|
var animStart = animEnd = 0;
|
||||||
|
var animFrame = animStart;
|
||||||
|
|
||||||
|
Self.SetMobile(true);
|
||||||
|
Self.SetGravity(true);
|
||||||
|
Self.SetHitbox(0, 0, 29, 52);
|
||||||
|
Self.AddAnimation("walk-left", 200, ["stand-left", "walk-left-1", "walk-left-2", "walk-left-3", "walk-left-2", "walk-left-1"]);
|
||||||
|
Self.AddAnimation("walk-right", 200, ["stand-right", "walk-right-1", "walk-right-2", "walk-right-3", "walk-right-2", "walk-right-1"]);
|
||||||
|
|
||||||
|
Events.OnKeypress(function(ev) {
|
||||||
|
Vx = 0;
|
||||||
|
Vy = 0;
|
||||||
|
|
||||||
|
if (ev.Right) {
|
||||||
|
if (!Self.IsAnimating()) {
|
||||||
|
Self.PlayAnimation("walk-right", null);
|
||||||
|
}
|
||||||
|
Vx = playerSpeed;
|
||||||
|
} else if (ev.Left) {
|
||||||
|
if (!Self.IsAnimating()) {
|
||||||
|
Self.PlayAnimation("walk-left", null);
|
||||||
|
}
|
||||||
|
Vx = -playerSpeed;
|
||||||
|
} else {
|
||||||
|
Self.StopAnimation();
|
||||||
|
animating = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Self.SetVelocity(Point(Vx, Vy));
|
||||||
|
})
|
||||||
|
}
|
BIN
dev-assets/doodads/boy/stand-left.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
dev-assets/doodads/boy/stand-right.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
dev-assets/doodads/boy/walk-left-1.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
dev-assets/doodads/boy/walk-left-2.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
dev-assets/doodads/boy/walk-left-3.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
dev-assets/doodads/boy/walk-right-1.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
dev-assets/doodads/boy/walk-right-2.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
dev-assets/doodads/boy/walk-right-3.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
dev-assets/doodads/boy/walk-right.gif
Normal file
After Width: | Height: | Size: 3.3 KiB |
|
@ -8,6 +8,19 @@ fi
|
||||||
|
|
||||||
mkdir -p ../../assets/doodads
|
mkdir -p ../../assets/doodads
|
||||||
|
|
||||||
|
boy() {
|
||||||
|
cd boy/
|
||||||
|
|
||||||
|
doodad convert -t "Boy" stand-right.png stand-left.png \
|
||||||
|
walk-right-1.png walk-right-2.png walk-right-3.png \
|
||||||
|
walk-left-1.png walk-left-2.png walk-left-3.png \
|
||||||
|
boy.doodad
|
||||||
|
doodad install-script boy.js boy.doodad
|
||||||
|
|
||||||
|
cp *.doodad ../../../assets/doodads/
|
||||||
|
cd ..
|
||||||
|
}
|
||||||
|
|
||||||
buttons() {
|
buttons() {
|
||||||
cd buttons/
|
cd buttons/
|
||||||
|
|
||||||
|
@ -123,6 +136,7 @@ onoff() {
|
||||||
cd ..
|
cd ..
|
||||||
}
|
}
|
||||||
|
|
||||||
|
boy
|
||||||
buttons
|
buttons
|
||||||
switches
|
switches
|
||||||
doors
|
doors
|
||||||
|
@ -132,3 +146,4 @@ objects
|
||||||
onoff
|
onoff
|
||||||
doodad edit-doodad -quiet -lock -author "Noah" ../../assets/doodads/*.doodad
|
doodad edit-doodad -quiet -lock -author "Noah" ../../assets/doodads/*.doodad
|
||||||
doodad edit-doodad -hide ../../assets/doodads/azu-blu.doodad
|
doodad edit-doodad -hide ../../assets/doodads/azu-blu.doodad
|
||||||
|
doodad edit-doodad -hide ../../assets/doodads/boy.doodad
|
||||||
|
|
|
@ -43,6 +43,12 @@ var (
|
||||||
}
|
}
|
||||||
DefaultEraserBrushSize = 8
|
DefaultEraserBrushSize = 8
|
||||||
MaxEraserBrushSize = 32 // the bigger, the slower
|
MaxEraserBrushSize = 32 // the bigger, the slower
|
||||||
|
|
||||||
|
// Default player character doodad in Play Mode.
|
||||||
|
PlayerCharacterDoodad = "boy.doodad"
|
||||||
|
|
||||||
|
// Level name for the title screen.
|
||||||
|
DemoLevelName = "example 1.level"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Edit Mode Values
|
// Edit Mode Values
|
||||||
|
|
|
@ -171,7 +171,7 @@ func (s *MainScene) SetupDemoLevel(d *Doodle) error {
|
||||||
s.canvas.SetScriptSupervisor(s.scripting)
|
s.canvas.SetScriptSupervisor(s.scripting)
|
||||||
|
|
||||||
// Title screen level to load.
|
// Title screen level to load.
|
||||||
if lvl, err := level.LoadFile("example1.level"); err == nil {
|
if lvl, err := level.LoadFile(balance.DemoLevelName); err == nil {
|
||||||
s.canvas.LoadLevel(d.Engine, lvl)
|
s.canvas.LoadLevel(d.Engine, lvl)
|
||||||
s.canvas.InstallActors(lvl.Actors)
|
s.canvas.InstallActors(lvl.Actors)
|
||||||
|
|
||||||
|
|
|
@ -193,7 +193,7 @@ func (s *PlayScene) Setup(d *Doodle) error {
|
||||||
// setupPlayer creates and configures the Player Character in the level.
|
// setupPlayer creates and configures the Player Character in the level.
|
||||||
func (s *PlayScene) setupPlayer() {
|
func (s *PlayScene) setupPlayer() {
|
||||||
// Load in the player character.
|
// Load in the player character.
|
||||||
player, err := doodads.LoadFile("azu-blu.doodad")
|
player, err := doodads.LoadFile(balance.PlayerCharacterDoodad)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("PlayScene.Setup: failed to load player doodad: %s", err)
|
log.Error("PlayScene.Setup: failed to load player doodad: %s", err)
|
||||||
player = doodads.NewDummy(32)
|
player = doodads.NewDummy(32)
|
||||||
|
|