Les voitures! Des carrosses à escence.
Et bien les voitures vois-tu, maintenant elles utilisent aussi l'animation tree, le state machine of the future et les super autres magiqueries. Elles bougent grace à un Path2D qui est suivit par un PathFollow2D qui leur sert de lapin. Elles suivent le lapin, sans cesse et sans cesse. Elles sont sage.
This commit is contained in:
@@ -1,13 +1,13 @@
|
||||
class_name NPCCar
|
||||
extends PathFollow2D
|
||||
|
||||
@export var car : Car
|
||||
@export var speed = 0.1
|
||||
var voiture
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
voiture = (self.get_child(0) as Voiture)
|
||||
voiture.updatePosition(position.x, position.y)
|
||||
@export var distanceMax = 100
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta: float) -> void:
|
||||
progress_ratio += delta * speed;
|
||||
voiture.updatePosition(position.x, position.y)
|
||||
if position.distance_to(car.position) < 200:
|
||||
progress_ratio += delta * speed;
|
||||
car.moveTo(position);
|
||||
|
||||
51
scenes/sta3CFA.tmp
Normal file
51
scenes/sta3CFA.tmp
Normal file
@@ -0,0 +1,51 @@
|
||||
[gd_scene load_steps=7 format=3 uid="uid://b4ydi1vv8dvwr"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://d1oqt6sbjvopi" path="res://maps/world.tscn" id="1_6vs81"]
|
||||
[ext_resource type="PackedScene" uid="uid://vclpg4e4ql54" path="res://caracters/player/player.tscn" id="2_5x6b5"]
|
||||
[ext_resource type="PackedScene" uid="uid://cl201baro5y5" path="res://vehicules/npc_car.tscn" id="3_yuakw"]
|
||||
[ext_resource type="PackedScene" uid="uid://bt1p311rn1h6q" path="res://vehicules/car.tscn" id="4_bqm78"]
|
||||
|
||||
[sub_resource type="Curve2D" id="Curve2D_shblg"]
|
||||
_data = {
|
||||
"points": PackedVector2Array(0, 0, 0, 0, -285, 193, -110.06, 94.1858, 110.06, -94.1858, 52, 134, -159.798, 75.137, 159.798, -75.137, 204, 13, -116.409, -28.5732, 116.409, 28.5732, 2206, -11, -93.6567, -28.0441, 93.6567, 28.0441, 2387, 165, -119.584, 76.7244, 119.584, -76.7244, 2750, 126, 108.472, 48.6803, -108.472, -48.6803, 2737, -309, 122.23, -57.1464, -122.23, 57.1464, 2340, -323, 76.1953, -36.5102, -76.1953, 36.5102, 2167, -129, 107.414, 77.2535, -107.414, -77.2535, 158, -148, 57.4153, 72.8272, -57.4153, -72.8272, 39, -293, 113.137, -95.6951, -113.137, 95.6951, -405, -291, -94.7149, -70.9039, 94.7149, 70.9039, -413, 128, 0, 0, 0, 0, -286, 193, 0, 0, 0, 0, -285, 193)
|
||||
}
|
||||
point_count = 15
|
||||
|
||||
[sub_resource type="Curve2D" id="Curve2D_nircx"]
|
||||
_data = {
|
||||
"points": PackedVector2Array(0, 0, 0, 0, 803, 1569, 0, 0, 0, 0, 910, 1573, 0, 0, 0, 0, 913, 1368, 0, 0, 0, 0, 1926, 1371, 0, 0, 0, 0, 1931, 342, 0, 0, 0, 0, 2082, 333, 0, 0, 0, 0, 2060, -140, 0, 0, 0, 0, 1718, -143, 0, 0, 0, 0, 1724, 20, 0, 0, 0, 0, 900, 30, 0, 0, 0, 0, 904, -1165, 0, 0, 0, 0, -890, -1162, 0, 0, 0, 0, -886, -119, 0, 0, 0, 0, -1062, -106, 0, 0, 0, 0, -1076, 268, 0, 0, 0, 0, -630, 271, 0, 0, 0, 0, -616, 161, 0, 0, 0, 0, 786, 152, 0, 0, 0, 0, 806, 1560)
|
||||
}
|
||||
point_count = 19
|
||||
|
||||
[node name="scene1" type="Node2D"]
|
||||
|
||||
[node name="monde" parent="." instance=ExtResource("1_6vs81")]
|
||||
|
||||
[node name="movibles" type="Node2D" parent="."]
|
||||
|
||||
[node name="Area2D" parent="movibles" instance=ExtResource("2_5x6b5")]
|
||||
position = Vector2(87, 74)
|
||||
|
||||
[node name="voitures" type="Node" parent="movibles"]
|
||||
|
||||
[node name="Path2D" type="Path2D" parent="movibles/voitures"]
|
||||
position = Vector2(-664, 181)
|
||||
curve = SubResource("Curve2D_shblg")
|
||||
|
||||
[node name="voiture_pnj" parent="movibles/voitures/Path2D" node_paths=PackedStringArray("car") instance=ExtResource("3_yuakw")]
|
||||
position = Vector2(-285, 193)
|
||||
car = NodePath("../Car")
|
||||
|
||||
[node name="Car" parent="movibles/voitures/Path2D" instance=ExtResource("4_bqm78")]
|
||||
position = Vector2(-287, 196)
|
||||
|
||||
[node name="Path2D2" type="Path2D" parent="movibles/voitures"]
|
||||
curve = SubResource("Curve2D_nircx")
|
||||
|
||||
[node name="voiture_pnj" parent="movibles/voitures/Path2D2" node_paths=PackedStringArray("car") instance=ExtResource("3_yuakw")]
|
||||
position = Vector2(803, 1569)
|
||||
car = NodePath("../Car2")
|
||||
speed = 0.05
|
||||
|
||||
[node name="Car2" parent="movibles/voitures/Path2D2" instance=ExtResource("4_bqm78")]
|
||||
position = Vector2(796, 1559)
|
||||
@@ -1,20 +1,21 @@
|
||||
[gd_scene load_steps=6 format=3 uid="uid://b4ydi1vv8dvwr"]
|
||||
[gd_scene load_steps=7 format=3 uid="uid://b4ydi1vv8dvwr"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://d1oqt6sbjvopi" path="res://maps/world.tscn" id="1_6vs81"]
|
||||
[ext_resource type="PackedScene" uid="uid://vclpg4e4ql54" path="res://caracters/player/player.tscn" id="2_5x6b5"]
|
||||
[ext_resource type="PackedScene" uid="uid://cl201baro5y5" path="res://vehicules/npc_car.tscn" id="3_yuakw"]
|
||||
[ext_resource type="PackedScene" uid="uid://bt1p311rn1h6q" path="res://vehicules/car.tscn" id="4_bqm78"]
|
||||
|
||||
[sub_resource type="Curve2D" id="Curve2D_shblg"]
|
||||
_data = {
|
||||
"points": PackedVector2Array(0, 0, 0, 0, -411, 81, 0, 0, 0, 0, 37, 81, 0, 0, 0, 0, 37, -34, 0, 0, 0, 0, 2392, -33, 0, 0, 0, 0, 2395, 125, 0, 0, 0, 0, 2750, 126, 0, 0, 0, 0, 2750, -313, 0, 0, 0, 0, 2391, -314, 0, 0, 0, 0, 2390, -149, 0, 0, 0, 0, 39, -144, 0, 0, 0, 0, 39, -293, 0, 0, 0, 0, -398, -289, 0, 0, 0, 0, -409, -310, 0, 0, 0, 0, -414, 78)
|
||||
"points": PackedVector2Array(0, 0, 0, 0, -285, 193, -110.06, 94.1858, 110.06, -94.1858, 52, 134, -159.798, 75.137, 159.798, -75.137, 204, 13, -116.409, -28.5732, 116.409, 28.5732, 2206, -11, -93.6567, -28.0441, 93.6567, 28.0441, 2387, 165, -119.584, 76.7244, 119.584, -76.7244, 2750, 126, 108.472, 48.6803, -108.472, -48.6803, 2737, -309, 122.23, -57.1464, -122.23, 57.1464, 2340, -323, 76.1953, -36.5102, -76.1953, 36.5102, 2167, -129, 107.414, 77.2535, -107.414, -77.2535, 158, -148, 57.4153, 72.8272, -57.4153, -72.8272, 39, -293, 113.137, -95.6951, -113.137, 95.6951, -405, -291, -94.7149, -70.9039, 94.7149, 70.9039, -413, 128, 0, 0, 0, 0, -286, 193, 0, 0, 0, 0, -285, 193)
|
||||
}
|
||||
point_count = 14
|
||||
point_count = 15
|
||||
|
||||
[sub_resource type="Curve2D" id="Curve2D_nircx"]
|
||||
_data = {
|
||||
"points": PackedVector2Array(0, 0, 0, 0, 803, 1569, 0, 0, 0, 0, 910, 1573, 0, 0, 0, 0, 913, 1368, 0, 0, 0, 0, 1926, 1371, 0, 0, 0, 0, 1931, 342, 0, 0, 0, 0, 2082, 333, 0, 0, 0, 0, 2060, -140, 0, 0, 0, 0, 1718, -143, 0, 0, 0, 0, 1724, 20, 0, 0, 0, 0, 900, 30, 0, 0, 0, 0, 904, -1165, 0, 0, 0, 0, -890, -1162, 0, 0, 0, 0, -886, -119, 0, 0, 0, 0, -1062, -106, 0, 0, 0, 0, -1079, 264, 0, 0, 0, 0, -630, 271, 0, 0, 0, 0, -616, 161, 0, 0, 0, 0, 786, 152, 0, 0, 0, 0, 806, 1560)
|
||||
"points": PackedVector2Array(0, 0, 0, 0, 803, 1569, 0, 0, 0, 0, 910, 1573, 0, 0, 0, 0, 913, 1368, 0, 0, 0, 0, 1926, 1371, 0, 0, 0, 0, 1931, 342, 0, 0, 0, 0, 2082, 333, 0, 0, 0, 0, 2060, -140, 0, 0, 0, 0, 1718, -143, 0, 0, 0, 0, 1649, 73, 0, 0, 0, 0, 814, 68, 0, 0, 0, 0, 897, -123, 0, 0, 0, 0, 904, -1165, 0, 0, 0, 0, -890, -1162, 0, 0, 0, 0, -886, -119, 0, 0, 0, 0, -1062, -106, 0, 0, 0, 0, -1076, 268, 0, 0, 0, 0, -630, 271, 0, 0, 0, 0, -616, 161, 0, 0, 0, 0, 858, 167, 0, 0, 0, 0, 806, 1560)
|
||||
}
|
||||
point_count = 19
|
||||
point_count = 20
|
||||
|
||||
[node name="scene1" type="Node2D"]
|
||||
|
||||
@@ -31,11 +32,24 @@ position = Vector2(87, 74)
|
||||
position = Vector2(-664, 181)
|
||||
curve = SubResource("Curve2D_shblg")
|
||||
|
||||
[node name="voiture_pnj" parent="movibles/voitures/Path2D" instance=ExtResource("3_yuakw")]
|
||||
[node name="voiture_pnj" parent="movibles/voitures/Path2D" node_paths=PackedStringArray("car") instance=ExtResource("3_yuakw")]
|
||||
position = Vector2(-285, 193)
|
||||
car = NodePath("../Car")
|
||||
speed = 0.2
|
||||
distanceMax = 200
|
||||
|
||||
[node name="Car" parent="movibles/voitures/Path2D" instance=ExtResource("4_bqm78")]
|
||||
position = Vector2(-287, 196)
|
||||
speed = 500
|
||||
|
||||
[node name="Path2D2" type="Path2D" parent="movibles/voitures"]
|
||||
curve = SubResource("Curve2D_nircx")
|
||||
|
||||
[node name="voiture_pnj" parent="movibles/voitures/Path2D2" instance=ExtResource("3_yuakw")]
|
||||
[node name="voiture_pnj" parent="movibles/voitures/Path2D2" node_paths=PackedStringArray("car") instance=ExtResource("3_yuakw")]
|
||||
position = Vector2(803, 1569)
|
||||
speed = 0.05
|
||||
car = NodePath("../Car")
|
||||
distanceMax = 15
|
||||
|
||||
[node name="Car" parent="movibles/voitures/Path2D2" instance=ExtResource("4_bqm78")]
|
||||
position = Vector2(803, 1558)
|
||||
speed = 500
|
||||
|
||||
Reference in New Issue
Block a user