diff --git a/.gitattributes b/.gitattributes index 7fe9385..a71d567 100644 --- a/.gitattributes +++ b/.gitattributes @@ -4,3 +4,4 @@ icon.png filter=lfs diff=lfs merge=lfs -text *.wav filter=lfs diff=lfs merge=lfs -text *.mp3 filter=lfs diff=lfs merge=lfs -text *.ogg filter=lfs diff=lfs merge=lfs -text +*.ase filter=lfs diff=lfs merge=lfs -text diff --git a/Game.tscn b/Game.tscn new file mode 100644 index 0000000..7ce2ead --- /dev/null +++ b/Game.tscn @@ -0,0 +1,9 @@ +[gd_scene load_steps=2 format=1] + +[ext_resource path="res://Player.tscn" type="PackedScene" id=1] + +[node name="Game" type="Node"] + +[node name="Player" parent="." instance=ExtResource( 1 )] + + diff --git a/GingerbreadMan.tscn b/GingerbreadMan.tscn new file mode 100644 index 0000000..a76f351 --- /dev/null +++ b/GingerbreadMan.tscn @@ -0,0 +1,7 @@ +[gd_scene format=1] + +[node name="GingerbreadMan" type="AnimatedSprite"] + +animation = "default" + + diff --git a/Menu.tscn b/Menu.tscn new file mode 100644 index 0000000..81f1073 --- /dev/null +++ b/Menu.tscn @@ -0,0 +1,5 @@ +[gd_scene format=1] + +[node name="Menu" type="Node"] + + diff --git a/Player.gd b/Player.gd new file mode 100644 index 0000000..15bda88 --- /dev/null +++ b/Player.gd @@ -0,0 +1,67 @@ +extends Node2D + +var mov_direction = Vector2(1, 0) +var mov_speed = 128 # pixels per second + +var cur_frame = 0 +var cur_time_per_frame = 0.1 +var cur_time = 0 +var cur_moving = true + +onready var sprite = get_node("Sprite") + +func _ready(): + set_fixed_process(true) + +func _fixed_process(delta): + + var mov_delta = Vector2(0, 0) + var mov_direction = Vector2(1, 0) + + # move towards mouse + mov_direction = (get_viewport().get_mouse_pos() - get_global_pos()).normalized() + + if Input.is_action_pressed("player_move_forwards") or Input.is_action_pressed("player_move_backwards") or Input.is_action_pressed("player_move_left") or Input.is_action_pressed("player_move_right"): + if Input.is_action_pressed("player_move_forwards"): + mov_delta.y -= 1 * (mov_speed * delta) + # mov_delta = mov_direction * (mov_speed * delta) + cur_moving = true + elif Input.is_action_pressed("player_move_backwards"): + # mov_delta = (-mov_direction) * (mov_speed * delta) + mov_delta.y += 1 * (mov_speed * delta) + cur_moving = true + if Input.is_action_pressed("player_move_left"): + mov_delta.x -= 1 * (mov_speed * delta) + cur_moving = true + elif Input.is_action_pressed("player_move_right"): + mov_delta.x += 1 * (mov_speed * delta) + cur_moving = true + else: + cur_moving = false + + + if Input.is_action_pressed("player_attack"): + pass + + cur_time = cur_time + delta + + if cur_moving and cur_frame != 6: + if cur_time > cur_time_per_frame: + cur_frame += 1 + cur_time = 0 + else: + if cur_moving: + cur_frame = 1 + else: + cur_frame = 0 + + # set frame shit + sprite.set_frame(cur_frame) + sprite.set_rot(sprite.get_global_pos().angle_to_point(get_viewport().get_mouse_pos())) + + # do teh moves + move_local_x(mov_delta.x) + move_local_y(mov_delta.y) + +func _process(delta): + pass diff --git a/Player.tscn b/Player.tscn new file mode 100644 index 0000000..4dd2c0d --- /dev/null +++ b/Player.tscn @@ -0,0 +1,17 @@ +[gd_scene load_steps=3 format=1] + +[ext_resource path="res://Player.gd" type="Script" id=1] +[ext_resource path="res://img/player.atex" type="Texture" id=2] + +[node name="Player" type="Node2D"] + +transform/scale = Vector2( 2, 2 ) +script/script = ExtResource( 1 ) + +[node name="Sprite" type="Sprite" parent="."] + +texture = ExtResource( 2 ) +hframes = 7 +region_rect = Rect2( 0, 0, 32, 32 ) + + diff --git a/StarBoy.tscn b/StarBoy.tscn new file mode 100644 index 0000000..f98f55b --- /dev/null +++ b/StarBoy.tscn @@ -0,0 +1,7 @@ +[gd_scene format=1] + +[node name="StarBoy" type="AnimatedSprite"] + +animation = "default" + + diff --git a/engine.cfg b/engine.cfg index 57ba9eb..bafd92b 100644 --- a/engine.cfg +++ b/engine.cfg @@ -1,14 +1,13 @@ -; Engine configuration file. -; It's best edited using the editor UI and not directly, -; since the parameters that go here are not all obvious. -; -; Format: -; [section] ; section goes between [] -; param=value ; assign values to parameters - - [application] - name="ld-39" +main_scene="res://Game.tscn" icon="res://icon.png" + +[input] + +player_move_forwards=[key(Up), key(W), jaxis(0, 2)] +player_move_backwards=[key(S), key(Down), jaxis(0, 3)] +player_attack=[mbutton(0, 1)] +player_move_left=[key(A), key(Left)] +player_move_right=[key(D), key(Right)] diff --git a/img/player.atex b/img/player.atex new file mode 100644 index 0000000..ebf8fd5 Binary files /dev/null and b/img/player.atex differ diff --git a/img/tiles.atex b/img/tiles.atex new file mode 100644 index 0000000..97994fe Binary files /dev/null and b/img/tiles.atex differ diff --git a/img/tiles.tex b/img/tiles.tex new file mode 100644 index 0000000..5049c8c Binary files /dev/null and b/img/tiles.tex differ diff --git a/raw/gingerbreadman.ase b/raw/gingerbreadman.ase new file mode 100644 index 0000000..5edf996 --- /dev/null +++ b/raw/gingerbreadman.ase @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2ad5d1fba9ababa2ac42dfc17279bd5724f479b7c66af5aa255e4139cea526fd +size 407 diff --git a/raw/player.ase b/raw/player.ase new file mode 100644 index 0000000..f5d42ee --- /dev/null +++ b/raw/player.ase @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b163a3e44247d423620ba234d405913ff19433cd0ed74392998c708b6b175268 +size 3915 diff --git a/raw/player.png b/raw/player.png new file mode 100644 index 0000000..76db369 Binary files /dev/null and b/raw/player.png differ diff --git a/raw/tiles.ase b/raw/tiles.ase new file mode 100644 index 0000000..85c8036 --- /dev/null +++ b/raw/tiles.ase @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b1710693c102f83eab24c16193ad28c389ccb256e7e4c90daf152ff472bc34f +size 789 diff --git a/raw/tiles.png b/raw/tiles.png new file mode 100644 index 0000000..d760f4e Binary files /dev/null and b/raw/tiles.png differ