aboutsummaryrefslogtreecommitdiff
path: root/entities
diff options
context:
space:
mode:
Diffstat (limited to 'entities')
-rw-r--r--entities/Player.gd46
-rw-r--r--entities/Player.tscn99
2 files changed, 145 insertions, 0 deletions
diff --git a/entities/Player.gd b/entities/Player.gd
new file mode 100644
index 0000000..bae5935
--- /dev/null
+++ b/entities/Player.gd
@@ -0,0 +1,46 @@
+extends KinematicBody2D
+
+export (int) var run_speed = 200
+export (int) var jump_speed = -400
+export (int) var gravity = 1200
+export var entity_type = "PLAYER"
+export (int) var health = 90
+var velocity = Vector2()
+var jumping = false
+onready var sprite = $AnimatedSprite
+var facing_right = true
+func get_input():
+ velocity.x = 0
+ var right = Input.is_action_pressed('right')
+ var left = Input.is_action_pressed('left')
+ var jump = Input.is_action_just_pressed('jump')
+
+ if facing_right == true:
+ sprite.flip_h = false
+ else:
+ sprite.flip_h = true
+
+
+ if jump and is_on_floor():
+ jumping = true
+ velocity.y = jump_speed
+ print(health)
+ if right:
+ velocity.x += run_speed
+ facing_right = true
+ $AnimatedSprite.play("run")
+ elif left:
+ velocity.x -= run_speed
+ facing_right = false
+ $AnimatedSprite.play("run")
+ else:
+ $AnimatedSprite.play("idle")
+
+ if !jumping && !is_on_floor():
+ $AnimatedSprite.play("jump")
+func _physics_process(delta):
+ get_input()
+ velocity.y += gravity * delta
+ if jumping and is_on_floor():
+ jumping = false
+ velocity = move_and_slide(velocity, Vector2(0, -1))
diff --git a/entities/Player.tscn b/entities/Player.tscn
new file mode 100644
index 0000000..2029798
--- /dev/null
+++ b/entities/Player.tscn
@@ -0,0 +1,99 @@
+[gd_scene load_steps=47 format=2]
+
+[ext_resource path="res://pinkman/idle/idle7.png" type="Texture" id=1]
+[ext_resource path="res://pinkman/double-jump/double_jump1.png" type="Texture" id=2]
+[ext_resource path="res://pinkman/double-jump/double_jump5.png" type="Texture" id=3]
+[ext_resource path="res://pinkman/idle/idle11.png" type="Texture" id=4]
+[ext_resource path="res://pinkman/idle/idle8.png" type="Texture" id=5]
+[ext_resource path="res://pinkman/idle/idle10.png" type="Texture" id=6]
+[ext_resource path="res://pinkman/double-jump/double_jump3.png" type="Texture" id=7]
+[ext_resource path="res://pinkman/idle/idle9.png" type="Texture" id=8]
+[ext_resource path="res://pinkman/double-jump/double_jump6.png" type="Texture" id=9]
+[ext_resource path="res://pinkman/double-jump/double_jump2.png" type="Texture" id=10]
+[ext_resource path="res://pinkman/double-jump/double_jump4.png" type="Texture" id=11]
+[ext_resource path="res://pinkman/idle/idle6.png" type="Texture" id=12]
+[ext_resource path="res://pinkman/idle/idle1.png" type="Texture" id=13]
+[ext_resource path="res://pinkman/idle/idle2.png" type="Texture" id=14]
+[ext_resource path="res://pinkman/idle/idle3.png" type="Texture" id=15]
+[ext_resource path="res://pinkman/idle/idle4.png" type="Texture" id=16]
+[ext_resource path="res://pinkman/idle/idle5.png" type="Texture" id=17]
+[ext_resource path="res://pinkman/wall-jump/wall-jump3.png" type="Texture" id=18]
+[ext_resource path="res://pinkman/wall-jump/wall-jump5.png" type="Texture" id=19]
+[ext_resource path="res://pinkman/wall-jump/wall-jump4.png" type="Texture" id=20]
+[ext_resource path="res://pinkman/run/run9.png" type="Texture" id=21]
+[ext_resource path="res://pinkman/run/run6.png" type="Texture" id=22]
+[ext_resource path="res://pinkman/hit/hit2.png" type="Texture" id=23]
+[ext_resource path="res://pinkman/run/run7.png" type="Texture" id=24]
+[ext_resource path="res://pinkman/hit/hit6.png" type="Texture" id=25]
+[ext_resource path="res://pinkman/run/run11.png" type="Texture" id=26]
+[ext_resource path="res://pinkman/wall-jump/wall-jump1.png" type="Texture" id=27]
+[ext_resource path="res://pinkman/jump/jump.png" type="Texture" id=28]
+[ext_resource path="res://pinkman/wall-jump/wall-jump2.png" type="Texture" id=29]
+[ext_resource path="res://pinkman/fall/fall.png" type="Texture" id=30]
+[ext_resource path="res://pinkman/hit/hit1.png" type="Texture" id=31]
+[ext_resource path="res://pinkman/run/run3.png" type="Texture" id=32]
+[ext_resource path="res://pinkman/hit/hit4.png" type="Texture" id=33]
+[ext_resource path="res://pinkman/run/run10.png" type="Texture" id=34]
+[ext_resource path="res://pinkman/run/run5.png" type="Texture" id=35]
+[ext_resource path="res://pinkman/run/run12.png" type="Texture" id=36]
+[ext_resource path="res://pinkman/hit/hit5.png" type="Texture" id=37]
+[ext_resource path="res://pinkman/run/run4.png" type="Texture" id=38]
+[ext_resource path="res://pinkman/run/run1.png" type="Texture" id=39]
+[ext_resource path="res://pinkman/hit/hit3.png" type="Texture" id=40]
+[ext_resource path="res://pinkman/hit/hit7.png" type="Texture" id=41]
+[ext_resource path="res://pinkman/run/run2.png" type="Texture" id=42]
+[ext_resource path="res://pinkman/run/run8.png" type="Texture" id=43]
+[ext_resource path="res://entities/Player.gd" type="Script" id=44]
+
+[sub_resource type="CapsuleShape2D" id=2]
+height = 8.0
+
+[sub_resource type="SpriteFrames" id=1]
+animations = [ {
+"frames": [ ExtResource( 13 ), ExtResource( 14 ), ExtResource( 15 ), ExtResource( 16 ), ExtResource( 17 ), ExtResource( 12 ), ExtResource( 1 ), ExtResource( 5 ), ExtResource( 8 ), ExtResource( 6 ), ExtResource( 4 ) ],
+"loop": true,
+"name": "idle",
+"speed": 25.0
+}, {
+"frames": [ ExtResource( 31 ), ExtResource( 23 ), ExtResource( 40 ), ExtResource( 33 ), ExtResource( 37 ), ExtResource( 25 ), ExtResource( 41 ) ],
+"loop": true,
+"name": "hit",
+"speed": 5.0
+}, {
+"frames": [ ExtResource( 39 ), ExtResource( 42 ), ExtResource( 32 ), ExtResource( 38 ), ExtResource( 35 ), ExtResource( 22 ), ExtResource( 24 ), ExtResource( 43 ), ExtResource( 21 ), ExtResource( 34 ), ExtResource( 26 ), ExtResource( 36 ) ],
+"loop": true,
+"name": "run",
+"speed": 25.0
+}, {
+"frames": [ ExtResource( 30 ) ],
+"loop": true,
+"name": "fall",
+"speed": 5.0
+}, {
+"frames": [ ExtResource( 27 ), ExtResource( 29 ), ExtResource( 18 ), ExtResource( 20 ), ExtResource( 19 ) ],
+"loop": true,
+"name": "wall_jump",
+"speed": 25.0
+}, {
+"frames": [ ExtResource( 28 ) ],
+"loop": true,
+"name": "jump",
+"speed": 5.0
+}, {
+"frames": [ ExtResource( 2 ), ExtResource( 10 ), ExtResource( 7 ), ExtResource( 11 ), ExtResource( 3 ), ExtResource( 9 ) ],
+"loop": true,
+"name": "double_jump",
+"speed": 25.0
+} ]
+
+[node name="Player" type="KinematicBody2D"]
+z_index = 1
+script = ExtResource( 44 )
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+position = Vector2( 0, 2 )
+shape = SubResource( 2 )
+
+[node name="AnimatedSprite" type="AnimatedSprite" parent="."]
+frames = SubResource( 1 )
+animation = "idle"