Added Ogre
This commit is contained in:
parent
fce3797185
commit
1e9336a11d
26
ai/Enemy.gd
26
ai/Enemy.gd
|
@ -9,35 +9,11 @@ const UP = Vector2(0, -1)
|
|||
|
||||
var velocity = Vector2()
|
||||
func get_type():
|
||||
return "player"
|
||||
return "enemy"
|
||||
|
||||
func apply_gravity(delta, modifier = 1):
|
||||
velocity.y += gravity * delta * modifier
|
||||
|
||||
func _physics_process(_delta):
|
||||
var dist = global_position.distance_to(Globals.player)
|
||||
if Globals.player != null:
|
||||
if $RayCast2D.get_collider() != null && $RayCast2D.get_collider().has_method("get_type") and $RayCast2D.get_collider().get_type() == "player":
|
||||
velocity = Vector2(0, 0)
|
||||
elif $RayCast2D2.get_collider() != null && $RayCast2D2.get_collider().has_method("get_type") and $RayCast2D2.get_collider().get_type() == "player":
|
||||
velocity = Vector2(0, 0)
|
||||
elif $RayCast2D3.get_collider() != null && $RayCast2D3.get_collider().has_method("get_type") and $RayCast2D3.get_collider().get_type() == "player":
|
||||
velocity = Vector2(0, 0)
|
||||
elif $RayCast2D4.get_collider() != null && $RayCast2D4.get_collider().has_method("get_type") and $RayCast2D4.get_collider().get_type() == "player":
|
||||
velocity = Vector2(0, 0)
|
||||
if dist <= 400:
|
||||
velocity.x = position.direction_to(Globals.player).normalized().x
|
||||
else:
|
||||
velocity = Vector2(0, 0)
|
||||
apply_gravity(_delta)
|
||||
velocity.x *= speed
|
||||
velocity = move_and_slide(velocity, UP)
|
||||
|
||||
#FOR FLIPPING THE SPRITE RIGHT AND LEFT DEPENDING ON WHICH WAY THEY FACING
|
||||
#if velocity.x > 0:
|
||||
# $(Enemy Sprite).flip_h = false
|
||||
#elif velocity.x < 0:
|
||||
# $(Enemy Sprite).flip_h = true
|
||||
|
||||
if is_on_wall() and is_on_floor():
|
||||
velocity.y = -150
|
||||
|
|
36
ai/ogre.gd
Normal file
36
ai/ogre.gd
Normal file
|
@ -0,0 +1,36 @@
|
|||
extends Enemy
|
||||
|
||||
var contact_damage = 0.5
|
||||
|
||||
onready var Spr = $Sprite
|
||||
onready var DamageCD = $DamageCD
|
||||
|
||||
func _ready():
|
||||
speed = 100
|
||||
|
||||
func _physics_process(delta):
|
||||
var player = Globals.player
|
||||
var distance = global_position.distance_to(player)
|
||||
|
||||
if distance <= 400:
|
||||
if player.x > global_position.x:
|
||||
Spr.flip_h = false
|
||||
velocity.x = speed
|
||||
elif player.x < global_position.x:
|
||||
Spr.flip_h = true
|
||||
velocity.x = -speed
|
||||
|
||||
if not is_on_floor():
|
||||
velocity.y = 10
|
||||
|
||||
var collision = move_and_collide(velocity)
|
||||
if collision != null:
|
||||
on_impact(collision)
|
||||
|
||||
func on_impact(collision):
|
||||
if collision.collider.has_method("get_type") && collision.collider.get_type() == "player":
|
||||
if DamageCD.is_stopped():
|
||||
var c = collision.collider
|
||||
c.set_health(c.get_health() - contact_damage)
|
||||
DamageCD.start()
|
||||
|
46
ai/ogre.tscn
Normal file
46
ai/ogre.tscn
Normal file
|
@ -0,0 +1,46 @@
|
|||
[gd_scene load_steps=5 format=2]
|
||||
|
||||
[ext_resource path="res://ai/ogre.gd" type="Script" id=1]
|
||||
[ext_resource path="res://art/Ogre_Run.png" type="Texture" id=2]
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id=1]
|
||||
height = 4.0
|
||||
|
||||
[sub_resource type="Animation" id=2]
|
||||
resource_name = "Run"
|
||||
length = 0.35
|
||||
loop = true
|
||||
tracks/0/type = "value"
|
||||
tracks/0/path = NodePath("Sprite:frame")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/keys = {
|
||||
"times": PoolRealArray( 0, 0.1, 0.2, 0.3 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1, 1 ),
|
||||
"update": 1,
|
||||
"values": [ 0, 1, 2, 3 ]
|
||||
}
|
||||
|
||||
[node name="Ogre" type="KinematicBody2D"]
|
||||
collision_layer = 4
|
||||
collision_mask = 2147483651
|
||||
script = ExtResource( 1 )
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="."]
|
||||
position = Vector2( 0, -17 )
|
||||
texture = ExtResource( 2 )
|
||||
hframes = 4
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2( 1, -12 )
|
||||
shape = SubResource( 1 )
|
||||
|
||||
[node name="DamageCD" type="Timer" parent="."]
|
||||
wait_time = 0.5
|
||||
one_shot = true
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
autoplay = "Run"
|
||||
anims/Run = SubResource( 2 )
|
BIN
art/Ogre_Run.png
Normal file
BIN
art/Ogre_Run.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
34
art/Ogre_Run.png.import
Normal file
34
art/Ogre_Run.png.import
Normal file
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/Ogre_Run.png-54e4b25ca8cf84d68d9ee78aad2faaee.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://art/Ogre_Run.png"
|
||||
dest_files=[ "res://.import/Ogre_Run.png-54e4b25ca8cf84d68d9ee78aad2faaee.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=false
|
||||
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
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
|
@ -1,12 +1,16 @@
|
|||
[gd_scene load_steps=3 format=2]
|
||||
[gd_scene load_steps=4 format=2]
|
||||
|
||||
[ext_resource path="res://characters/Player.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://meta/DungeonTilemap.tscn" type="PackedScene" id=2]
|
||||
[ext_resource path="res://ai/ogre.tscn" type="PackedScene" id=3]
|
||||
|
||||
[node name="Node2D" type="Node2D"]
|
||||
|
||||
[node name="Player" parent="." instance=ExtResource( 1 )]
|
||||
position = Vector2( 60, 176 )
|
||||
|
||||
[node name="Ogre" parent="." instance=ExtResource( 3 )]
|
||||
position = Vector2( 252, 170 )
|
||||
|
||||
[node name="TileMap" parent="." instance=ExtResource( 2 )]
|
||||
tile_data = PoolIntArray( 65536, 0, 8, 65537, 0, 10, 65538, 0, 10, 65539, 0, 10, 65540, 0, 10, 65541, 0, 10, 65542, 0, 10, 65543, 0, 10, 65544, 0, 10, 65545, 0, 10, 65546, 0, 10, 65547, 0, 10, 65548, 0, 10, 65549, 0, 10, 65550, 0, 10, 65551, 0, 10, 65552, 0, 10, 65553, 0, 10, 65554, 0, 10, 65555, 0, 10, 65556, 0, 11, 131072, 0, 65544, 131073, 0, 131078, 131074, 0, 196617, 131075, 0, 196617, 131076, 0, 196617, 131077, 0, 196617, 131078, 0, 196617, 131079, 0, 196617, 131080, 0, 196617, 131081, 0, 196617, 131082, 0, 196617, 131083, 0, 196617, 131084, 0, 196617, 131085, 0, 196617, 131086, 0, 196617, 131087, 0, 196617, 131088, 0, 196617, 131089, 0, 196617, 131090, 0, 196617, 131091, 0, 131077, 131092, 0, 131083, 196608, 0, 65544, 196609, 0, 131083, 196627, 0, 65544, 196628, 0, 131083, 262144, 0, 65544, 262145, 0, 131083, 262163, 0, 65544, 262164, 0, 131083, 327680, 0, 65544, 327681, 0, 131083, 327699, 0, 65544, 327700, 0, 131083, 393216, 0, 65544, 393217, 0, 131083, 393235, 0, 65544, 393236, 0, 131083, 458752, 0, 65544, 458753, 0, 131083, 458771, 0, 65544, 458772, 0, 131083, 524288, 0, 65544, 524289, 0, 131083, 524307, 0, 65544, 524308, 0, 131083, 589824, 0, 65544, 589825, 0, 131083, 589843, 0, 65544, 589844, 0, 131083, 655360, 0, 65544, 655361, 0, 131083, 655379, 0, 65544, 655380, 0, 131083, 720896, 0, 65544, 720897, 0, 65542, 720898, 0, 10, 720899, 0, 10, 720900, 0, 10, 720901, 0, 10, 720902, 0, 10, 720903, 0, 10, 720904, 0, 10, 720905, 0, 10, 720906, 0, 10, 720907, 0, 10, 720908, 0, 10, 720909, 0, 10, 720910, 0, 10, 720911, 0, 10, 720912, 0, 10, 720913, 0, 10, 720914, 0, 10, 720915, 0, 65541, 720916, 0, 131083, 786432, 0, 196616, 786433, 0, 196617, 786434, 0, 196617, 786435, 0, 196617, 786436, 0, 196617, 786437, 0, 196617, 786438, 0, 196617, 786439, 0, 196617, 786440, 0, 196617, 786441, 0, 196617, 786442, 0, 196617, 786443, 0, 196617, 786444, 0, 196617, 786445, 0, 196617, 786446, 0, 196617, 786447, 0, 196617, 786448, 0, 196617, 786449, 0, 196617, 786450, 0, 196617, 786451, 0, 196617, 786452, 0, 196619 )
|
||||
|
|
|
@ -45,7 +45,7 @@ _global_script_class_icons={
|
|||
[application]
|
||||
|
||||
config/name="Gamejam"
|
||||
run/main_scene="res://Title/Tilte.tscn"
|
||||
run/main_scene="res://levels/test.tscn"
|
||||
config/icon="res://icon.png"
|
||||
|
||||
[autoload]
|
||||
|
@ -55,6 +55,10 @@ IconLoaderGithub="*res://addons/github-integration/scripts/IconLoaderGithub.gd"
|
|||
RestHandler="*res://addons/github-integration/scripts/RestHandler.gd"
|
||||
Globals="*res://script/globals.gd"
|
||||
|
||||
[debug]
|
||||
|
||||
settings/fps/force_fps=60
|
||||
|
||||
[display]
|
||||
|
||||
window/size/width=320
|
||||
|
@ -90,47 +94,32 @@ texture={
|
|||
"stream": false,
|
||||
"svg/scale": 1.0
|
||||
}
|
||||
wav={
|
||||
"compress/mode": 0,
|
||||
"edit/loop": true,
|
||||
"edit/normalize": false,
|
||||
"edit/trim": false,
|
||||
"force/8_bit": false,
|
||||
"force/max_rate": false,
|
||||
"force/max_rate_hz": 44100,
|
||||
"force/mono": false
|
||||
}
|
||||
|
||||
[input]
|
||||
|
||||
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":32,"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":87,"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":16777232,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
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":83,"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":16777234,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
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":65,"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":16777231,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
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":68,"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":16777233,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
shoot={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"button_mask":0,"position":Vector2( 0, 0 ),"global_position":Vector2( 0, 0 ),"factor":1.0,"button_index":1,"pressed":false,"doubleclick":false,"script":null)
|
||||
"events": [ Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"button_mask":0,"position":Vector2( 0, 0 ),"global_position":Vector2( 0, 0 ),"factor":1.0,"button_index":1,"pressed":false,"doubleclick":false,"script":null)
|
||||
]
|
||||
}
|
||||
inventory={
|
||||
|
@ -141,11 +130,14 @@ inventory={
|
|||
|
||||
[layer_names]
|
||||
|
||||
2d_render/layer_1="Player"
|
||||
2d_physics/layer_1="Player"
|
||||
2d_render/layer_2="World"
|
||||
2d_physics/layer_2="World"
|
||||
2d_physics/layer_3="Enemy"
|
||||
2d_physics/layer_4="Projectiles"
|
||||
|
||||
[rendering]
|
||||
|
||||
quality/driver/fallback_to_gles2=true
|
||||
environment/default_environment="res://default_env.tres"
|
||||
|
|
|
@ -175,6 +175,9 @@ margin_left = -22.0
|
|||
margin_top = 35.0
|
||||
margin_right = 23.0
|
||||
margin_bottom = 55.0
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
[connection signal="pressed" from="Inventory/Conduits/Conduit1" to="." method="_on_Conduit1_toggled"]
|
||||
[connection signal="pressed" from="Inventory/Conduits/Conduit2" to="." method="_on_Conduit2_toggled"]
|
||||
[connection signal="pressed" from="Inventory/Conduits/Conduit3" to="." method="_on_Conduit3_toggled"]
|
||||
|
|
Loading…
Reference in a new issue