From 66ca708f520db7fab832b1fc5dad713af0d5b473 Mon Sep 17 00:00:00 2001 From: Olivier 'reivilibre Date: Fri, 6 Jan 2023 22:02:48 +0000 Subject: [PATCH] Basic player movement --- .gitattributes | 2 + .gitignore | 5 ++ characters/player/Player.gd | 25 ++++++++++ characters/player/Player.tscn | 30 ++++++++++++ characters/player/player1_r.kra | 3 ++ characters/player/player1_r.png | 3 ++ characters/player/player1_r.png.import | 35 ++++++++++++++ default_env.tres | 7 +++ icon.png | 3 ++ icon.png.import | 35 ++++++++++++++ project.godot | 66 ++++++++++++++++++++++++++ 11 files changed, 214 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 characters/player/Player.gd create mode 100644 characters/player/Player.tscn create mode 100644 characters/player/player1_r.kra create mode 100644 characters/player/player1_r.png create mode 100644 characters/player/player1_r.png.import create mode 100644 default_env.tres create mode 100644 icon.png create mode 100644 icon.png.import create mode 100644 project.godot diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..449b5b0 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +*.png filter=lfs diff=lfs merge=lfs -text +*.kra filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2c1da2e --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +/.import +/*.translation +/export_presets.cfg +*~ + diff --git a/characters/player/Player.gd b/characters/player/Player.gd new file mode 100644 index 0000000..2be9fa1 --- /dev/null +++ b/characters/player/Player.gd @@ -0,0 +1,25 @@ +extends Area2D + + +export var speed = 200 # How fast the player will move (pixels/sec). +var screen_size # Size of the game window. + +# Called when the node enters the scene tree for the first time. +func _ready(): + screen_size = get_viewport_rect().size + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + var velocity = Vector2.ZERO # The player's movement vector. + velocity.x += Input.get_action_strength("move_right") - Input.get_action_strength("move_left") + velocity.y += Input.get_action_strength("move_down") - Input.get_action_strength("move_up") + + if velocity.length() > 0: + velocity = velocity.normalized() * speed + $AnimatedSprite.play() + else: + $AnimatedSprite.stop() + + position += velocity * delta + position.x = clamp(position.x, 0, screen_size.x) + position.y = clamp(position.y, 0, screen_size.y) diff --git a/characters/player/Player.tscn b/characters/player/Player.tscn new file mode 100644 index 0000000..6ccd631 --- /dev/null +++ b/characters/player/Player.tscn @@ -0,0 +1,30 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://characters/player/player1_r.png" type="Texture" id=1] +[ext_resource path="res://characters/player/Player.gd" type="Script" id=2] + +[sub_resource type="SpriteFrames" id=1] +animations = [ { +"frames": [ ExtResource( 1 ) ], +"loop": true, +"name": "right", +"speed": 5.0 +} ] + +[sub_resource type="CircleShape2D" id=2] +radius = 23.0217 + +[node name="Player" type="Area2D"] +script = ExtResource( 2 ) + +[node name="AnimatedSprite" type="AnimatedSprite" parent="."] +position = Vector2( 11, 5 ) +scale = Vector2( 0.05, 0.05 ) +frames = SubResource( 1 ) +animation = "right" +__meta__ = { +"_edit_group_": true +} + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource( 2 ) diff --git a/characters/player/player1_r.kra b/characters/player/player1_r.kra new file mode 100644 index 0000000..5eca4c5 --- /dev/null +++ b/characters/player/player1_r.kra @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3eff06eecf58f2219cd14723f4adf247be0057e50adff6ab0b9dca3bd83df662 +size 450618 diff --git a/characters/player/player1_r.png b/characters/player/player1_r.png new file mode 100644 index 0000000..63343f6 --- /dev/null +++ b/characters/player/player1_r.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64b64d8c8e5ea17288f48da64142a7b5da57a01920ebb724dfaef766722d6249 +size 66239 diff --git a/characters/player/player1_r.png.import b/characters/player/player1_r.png.import new file mode 100644 index 0000000..b14025a --- /dev/null +++ b/characters/player/player1_r.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/player1_r.png-fad17937df9bac2498f9615573317176.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://characters/player/player1_r.png" +dest_files=[ "res://.import/player1_r.png-fad17937df9bac2498f9615573317176.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/default_env.tres b/default_env.tres new file mode 100644 index 0000000..20207a4 --- /dev/null +++ b/default_env.tres @@ -0,0 +1,7 @@ +[gd_resource type="Environment" load_steps=2 format=2] + +[sub_resource type="ProceduralSky" id=1] + +[resource] +background_mode = 2 +background_sky = SubResource( 1 ) diff --git a/icon.png b/icon.png new file mode 100644 index 0000000..bd50c5c --- /dev/null +++ b/icon.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2512a96269d859bbd334817212a9e1ede4ec13779bef7fbc19d49efd2a664b3b +size 2435 diff --git a/icon.png.import b/icon.png.import new file mode 100644 index 0000000..a4c02e6 --- /dev/null +++ b/icon.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.png" +dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/project.godot b/project.godot new file mode 100644 index 0000000..5f0151e --- /dev/null +++ b/project.godot @@ -0,0 +1,66 @@ +; 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 + +config_version=4 + +[application] + +config/name="Olive Harvest LD52" +run/main_scene="res://characters/player/Player.tscn" +config/icon="res://icon.png" + +[display] + +window/stretch/mode="2d" +window/stretch/aspect="keep" + +[gui] + +common/drop_mouse_on_gui_input_disabled=true + +[input] + +move_left={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777231,"physical_scancode":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":65,"unicode":0,"echo":false,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":-1.0,"script":null) + ] +} +move_right={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777233,"physical_scancode":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":68,"unicode":0,"echo":false,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":1.0,"script":null) + ] +} +move_up={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777232,"physical_scancode":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":87,"unicode":0,"echo":false,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":-1.0,"script":null) + ] +} +move_down={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777234,"physical_scancode":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":83,"unicode":0,"echo":false,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":1.0,"script":null) + ] +} + +[physics] + +common/enable_pause_aware_picking=true + +[rendering] + +quality/driver/driver_name="GLES2" +vram_compression/import_etc=true +vram_compression/import_etc2=false +environment/default_environment="res://default_env.tres"