Initial Commit
* Basic Character Controls * Tileset * Collision * Basic Collectables
This commit is contained in:
46
entities/Player.gd
Normal file
46
entities/Player.gd
Normal file
@@ -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))
|
||||
99
entities/Player.tscn
Normal file
99
entities/Player.tscn
Normal file
@@ -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"
|
||||
Reference in New Issue
Block a user