From fc44ae1243e21179d759df3b947fc55ca0425534 Mon Sep 17 00:00:00 2001 From: Indrajith K L Date: Thu, 14 Apr 2022 03:16:45 +0530 Subject: Initial Commit * Basic Character Controls * Tileset * Collision * Basic Collectables --- entities/Player.gd | 46 ++++++++++++++++++++++++ entities/Player.tscn | 99 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 145 insertions(+) create mode 100644 entities/Player.gd create mode 100644 entities/Player.tscn (limited to 'entities') 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" -- cgit v1.2.3