Parcourir la source

work done on AI

galo il y a 1 an
Parent
commit
1eeccc3f69
3 fichiers modifiés avec 79 ajouts et 7 suppressions
  1. 52 1
      main.tscn
  2. 14 1
      npc.tscn
  3. 13 5
      placeholder.gd

+ 52 - 1
main.tscn

@@ -224,7 +224,7 @@ render_target_v_flip = true
 [node name="Goblin" type="AnimatedSprite" parent="Textures/Goblin4"]
 modulate = Color( 1, 0, 0.984314, 1 )
 frames = SubResource( 5 )
-frame = 3
+frame = 1
 speed_scale = 0.9
 playing = true
 offset = Vector2( 32, 32 )
@@ -748,6 +748,57 @@ script = SubResource( 14 )
 
 [node name="npc" parent="Levelselect/test/enemies" instance=ExtResource( 13 )]
 
+[node name="npc2" parent="Levelselect/test/enemies" instance=ExtResource( 13 )]
+position = Vector2( 788, 292 )
+
+[node name="npc3" parent="Levelselect/test/enemies" instance=ExtResource( 13 )]
+position = Vector2( 909, 292 )
+
+[node name="npc4" parent="Levelselect/test/enemies" instance=ExtResource( 13 )]
+position = Vector2( 1152, 160 )
+
+[node name="npc5" parent="Levelselect/test/enemies" instance=ExtResource( 13 )]
+position = Vector2( 1269, 160 )
+
+[node name="npc6" parent="Levelselect/test/enemies" instance=ExtResource( 13 )]
+position = Vector2( 1390, 160 )
+
+[node name="npc7" parent="Levelselect/test/enemies" instance=ExtResource( 13 )]
+position = Vector2( 1609, 160 )
+
+[node name="npc8" parent="Levelselect/test/enemies" instance=ExtResource( 13 )]
+position = Vector2( 1726, 160 )
+
+[node name="npc9" parent="Levelselect/test/enemies" instance=ExtResource( 13 )]
+position = Vector2( 1847, 160 )
+
+[node name="npc10" parent="Levelselect/test/enemies" instance=ExtResource( 13 )]
+position = Vector2( 2230, 139 )
+
+[node name="npc11" parent="Levelselect/test/enemies" instance=ExtResource( 13 )]
+position = Vector2( 2347, 139 )
+
+[node name="npc12" parent="Levelselect/test/enemies" instance=ExtResource( 13 )]
+position = Vector2( 4076, 139 )
+
+[node name="npc13" parent="Levelselect/test/enemies" instance=ExtResource( 13 )]
+position = Vector2( 2779, 31 )
+
+[node name="npc14" parent="Levelselect/test/enemies" instance=ExtResource( 13 )]
+position = Vector2( 2896, 31 )
+
+[node name="npc15" parent="Levelselect/test/enemies" instance=ExtResource( 13 )]
+position = Vector2( 3017, 31 )
+
+[node name="npc16" parent="Levelselect/test/enemies" instance=ExtResource( 13 )]
+position = Vector2( 3581, 31 )
+
+[node name="npc17" parent="Levelselect/test/enemies" instance=ExtResource( 13 )]
+position = Vector2( 3698, 31 )
+
+[node name="npc18" parent="Levelselect/test/enemies" instance=ExtResource( 13 )]
+position = Vector2( 3819, 31 )
+
 [node name="testclient" type="Node2D" parent="Levelselect"]
 visible = false
 

+ 14 - 1
npc.tscn

@@ -1,9 +1,12 @@
-[gd_scene load_steps=3 format=2]
+[gd_scene load_steps=4 format=2]
 
 [ext_resource path="res://placeholder.gd" type="Script" id=1]
 
 [sub_resource type="RectangleShape2D" id=23]
 
+[sub_resource type="RectangleShape2D" id=24]
+extents = Vector2( 300, 64 )
+
 [node name="npc" type="KinematicBody2D" groups=["enemy"]]
 position = Vector2( 671, 292 )
 collision_layer = 12
@@ -17,3 +20,13 @@ shape = SubResource( 23 )
 enabled = true
 cast_to = Vector2( -300, 0 )
 collision_mask = 2147483650
+
+[node name="Area2D" type="Area2D" parent="."]
+collision_layer = 0
+collision_mask = 2147483650
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
+position = Vector2( 0, -54 )
+shape = SubResource( 24 )
+
+[connection signal="body_entered" from="Area2D" to="." method="_on_Area2D_body_entered"]

+ 13 - 5
placeholder.gd

@@ -25,19 +25,21 @@ func find_target():
 		return data[0]
 
 var bullet = preload('res://bullet.tscn')
-var firerate = 20
-var fireratebuff = 20
+var firerate = 0
+var fireratebuff = 30
+var alert = false
 
 func _physics_process(delta):
-	if target == null:
-		target = find_target()
-	else:
+	if alert:
+		if not is_instance_valid(target): return
 		if not $RayCast2D.is_colliding():
 			fliph = target.global_position.x > global_position.x
 			$RayCast2D.cast_to.x = 300 if fliph else -300 
 			motion.x = 100 if fliph else -100
+			type = 1
 		else:
 			motion.x = 0
+			type = 2
 			fireratebuff -= 1
 			if fireratebuff == 0:
 				var instance = bullet.instance()
@@ -49,3 +51,9 @@ func _physics_process(delta):
 				get_tree().get_nodes_in_group('proj')[0].add_child(instance)
 				fireratebuff = firerate
 	move_and_slide(motion)
+
+
+func _on_Area2D_body_entered(body):
+	alert = true
+	target = body
+	pass # Replace with function body.