Enemy.tscn 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. [gd_scene load_steps=8 format=2]
  2. [ext_resource path="res://enemy.tres.gd" type="Script" id=1]
  3. [sub_resource type="GDScript" id=6]
  4. script/source = "extends Area2D
  5. export var damage = -1
  6. var attacker = ''
  7. func _on_Timer_timeout():
  8. queue_free()
  9. pass # Replace with function body.
  10. func _on_damage_player_body_entered(area):
  11. area.damage( damage, attacker)
  12. pass # Replace with function body.
  13. "
  14. [sub_resource type="RectangleShape2D" id=1]
  15. [sub_resource type="GDScript" id=7]
  16. script/source = "extends Area2D
  17. func _on_damage_enemy2_body_entered(body):
  18. get_parent().fliph = not get_parent().global_position.x > body.global_position.x
  19. if get_parent().is_on_floor():
  20. get_parent().state = 'shooting'
  21. pass # Replace with function body.
  22. func _on_damage_enemy2_body_exited(body):
  23. get_parent().state = 'runaround'
  24. pass # Replace with function body.
  25. func _ready():
  26. scale.x = rand_range(0.5,2.0)
  27. "
  28. [sub_resource type="RectangleShape2D" id=3]
  29. extents = Vector2( 120, 10 )
  30. [sub_resource type="RectangleShape2D" id=4]
  31. [sub_resource type="RectangleShape2D" id=2]
  32. extents = Vector2( 320, 100 )
  33. [node name="Enemy" type="KinematicBody2D" groups=["enemy"]]
  34. collision_layer = 12
  35. collision_mask = 0
  36. script = ExtResource( 1 )
  37. [node name="damage_enemy" type="Area2D" parent="."]
  38. collision_layer = 0
  39. collision_mask = 2147483650
  40. monitorable = false
  41. script = SubResource( 6 )
  42. [node name="CollisionShape2D" type="CollisionShape2D" parent="damage_enemy"]
  43. shape = SubResource( 1 )
  44. disabled = true
  45. [node name="damage_enemy2" type="Area2D" parent="."]
  46. collision_layer = 0
  47. collision_mask = 2147483650
  48. monitorable = false
  49. script = SubResource( 7 )
  50. [node name="CollisionShape2D" type="CollisionShape2D" parent="damage_enemy2"]
  51. shape = SubResource( 3 )
  52. [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
  53. shape = SubResource( 4 )
  54. [node name="Area2D" type="Area2D" parent="."]
  55. collision_layer = 0
  56. collision_mask = 2
  57. [node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
  58. shape = SubResource( 2 )
  59. [connection signal="body_entered" from="damage_enemy" to="damage_enemy" method="_on_damage_player_body_entered"]
  60. [connection signal="body_entered" from="damage_enemy2" to="damage_enemy2" method="_on_damage_player_body_entered"]
  61. [connection signal="body_entered" from="damage_enemy2" to="damage_enemy2" method="_on_damage_enemy2_body_entered"]
  62. [connection signal="body_exited" from="damage_enemy2" to="damage_enemy2" method="_on_damage_enemy2_body_exited"]
  63. [connection signal="body_entered" from="Area2D" to="." method="_on_Area2D_body_entered"]