adds a code generated track along tiles path
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
extends Node2D
|
extends Node2D
|
||||||
|
|
||||||
onready var track = get_node("/root/Track2/Track/TrackOpponent/")
|
onready var track = get_node("/root/Track2/RaceTrack/TrackOpponent/")
|
||||||
export (float) var speed = 0.125
|
export (float) var speed = 0.125
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ enum { RIGHT, DOWN_RIGHT, DOWN, DOWN_LEFT, LEFT, UP_LEFT, UP, UP_RIGHT }
|
|||||||
|
|
||||||
# TODO:
|
# TODO:
|
||||||
# - Move track related logic inside TrackPlayer script ?
|
# - Move track related logic inside TrackPlayer script ?
|
||||||
onready var track = get_node("/root/Track2/Track/TrackPlayer/")
|
onready var track = get_node("/root/Track2/RaceTrack/TrackPlayer/")
|
||||||
var position_on_track := 0.0
|
var position_on_track := 0.0
|
||||||
var target_on_track := 0.0
|
var target_on_track := 0.0
|
||||||
|
|
||||||
|
|||||||
86
RaceTrack.gd
Normal file
86
RaceTrack.gd
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
extends Path2D
|
||||||
|
|
||||||
|
enum { UP, RIGHT, DOWN, LEFT }
|
||||||
|
const TRACK_TILES = [
|
||||||
|
Vector2(7,1), Vector2(8,1), Vector2(9,1), Vector2(9,2), Vector2(9,3),
|
||||||
|
Vector2(8,3), Vector2(7,3), Vector2(7,4), Vector2(7,5), Vector2(7,6),
|
||||||
|
Vector2(6,6), Vector2(6,5), Vector2(6,4), Vector2(6,3), Vector2(5,3),
|
||||||
|
Vector2(4,3), Vector2(4,2), Vector2(4,1), Vector2(5,1), Vector2(6,1),
|
||||||
|
]
|
||||||
|
|
||||||
|
var tile_size : int = 128
|
||||||
|
var half_size : int = tile_size / 2
|
||||||
|
onready var map = get_node("/root/Track2/TileMap")
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
func _ready():
|
||||||
|
_build_track(TRACK_TILES)
|
||||||
|
|
||||||
|
func _draw():
|
||||||
|
draw_polyline(curve.get_baked_points(), Color.red, 4.0)
|
||||||
|
for idx in range(0,curve.get_point_count()):
|
||||||
|
draw_circle(curve.get_point_in(idx), 2.0, Color.green)
|
||||||
|
draw_circle(curve.get_point_out(idx), 2.0, Color.blue)
|
||||||
|
|
||||||
|
func _build_track(tiles):
|
||||||
|
""" Build the track curve given a tile path """
|
||||||
|
var _curve = get_curve()
|
||||||
|
_curve.clear_points()
|
||||||
|
# Set start point
|
||||||
|
var start_point = map.map_to_world(tiles[0])
|
||||||
|
start_point.y += half_size
|
||||||
|
start_point.x += half_size
|
||||||
|
_point_at(_curve, start_point, RIGHT)
|
||||||
|
for idx in range(0, tiles.size()):
|
||||||
|
var next_idx = idx + 1 if idx < tiles.size() - 1 else 0
|
||||||
|
var dir = _direction_to(tiles[idx], tiles[next_idx])
|
||||||
|
# Find position of next point
|
||||||
|
var pos = map.map_to_world(tiles[idx])
|
||||||
|
match dir:
|
||||||
|
# We start from upper left corner
|
||||||
|
UP: pos = Vector2(pos.x + half_size, pos.y)
|
||||||
|
RIGHT: pos = Vector2(pos.x + tile_size, pos.y + half_size)
|
||||||
|
DOWN: pos = Vector2(pos.x + half_size, pos.y + tile_size)
|
||||||
|
LEFT: pos = Vector2(pos.x, pos.y + half_size)
|
||||||
|
_point_at(_curve, pos, dir)
|
||||||
|
_point_at(_curve, start_point, RIGHT)
|
||||||
|
set_curve(_curve)
|
||||||
|
print_debug("Built track !", _curve)
|
||||||
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
|
#func _process(delta):
|
||||||
|
# pass
|
||||||
|
|
||||||
|
func _point_at(_curve, pos, dir):
|
||||||
|
# Use only control_in since it gives smoother turns
|
||||||
|
var half_size = tile_size / 2
|
||||||
|
var control_in
|
||||||
|
match dir:
|
||||||
|
DOWN:
|
||||||
|
control_in = Vector2(0, - half_size)
|
||||||
|
#control_out = Vector2(0, half_size)
|
||||||
|
UP:
|
||||||
|
control_in = Vector2(0, half_size)
|
||||||
|
#control_out = Vector2(0, -half_size)
|
||||||
|
RIGHT:
|
||||||
|
control_in = Vector2( - half_size, 0)
|
||||||
|
#control_out = Vector2(half_size, 0)
|
||||||
|
LEFT:
|
||||||
|
control_in = Vector2(half_size, 0)
|
||||||
|
#control_out = Vector2(-half_size, 0)
|
||||||
|
#print_debug("Add point: ", pos, ", in=", control_in), " out=", control_out, " | ", dir)
|
||||||
|
_curve.add_point(pos, control_in) #, control_out)
|
||||||
|
|
||||||
|
|
||||||
|
func _direction_to(from_tile, to_tile):
|
||||||
|
var x_dir = to_tile.x - from_tile.x
|
||||||
|
var y_dir = to_tile.y - from_tile.y
|
||||||
|
if abs(x_dir + y_dir) == 1:
|
||||||
|
if x_dir == 1:
|
||||||
|
return RIGHT
|
||||||
|
elif x_dir == -1:
|
||||||
|
return LEFT
|
||||||
|
elif y_dir == 1:
|
||||||
|
return DOWN
|
||||||
|
elif y_dir == -1:
|
||||||
|
return UP
|
||||||
|
else:
|
||||||
|
print_debug("Panic!! Path is not contiguous between", from_tile, " and ", to_tile)
|
||||||
72
RaceTrack.tscn
Normal file
72
RaceTrack.tscn
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
[gd_scene load_steps=30 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://RaceTrack.gd" type="Script" id=1]
|
||||||
|
[ext_resource path="res://OpponentCar.gd" type="Script" id=2]
|
||||||
|
[ext_resource path="res://assets/2D_Car_Pack_DevilsWorkShop_V01/bus/busiso_0007.png" type="Texture" id=3]
|
||||||
|
[ext_resource path="res://assets/2D_Car_Pack_DevilsWorkShop_V01/bus/busiso_0004.png" type="Texture" id=4]
|
||||||
|
[ext_resource path="res://assets/2D_Car_Pack_DevilsWorkShop_V01/bus/busiso_0001.png" type="Texture" id=5]
|
||||||
|
[ext_resource path="res://assets/2D_Car_Pack_DevilsWorkShop_V01/bus/busiso_0002.png" type="Texture" id=6]
|
||||||
|
[ext_resource path="res://assets/2D_Car_Pack_DevilsWorkShop_V01/bus/busiso_0003.png" type="Texture" id=7]
|
||||||
|
[ext_resource path="res://assets/2D_Car_Pack_DevilsWorkShop_V01/bus/busiso_0000.png" type="Texture" id=8]
|
||||||
|
[ext_resource path="res://assets/2D_Car_Pack_DevilsWorkShop_V01/bus/busiso_0005.png" type="Texture" id=9]
|
||||||
|
[ext_resource path="res://assets/2D_Car_Pack_DevilsWorkShop_V01/bus/busiso_0006.png" type="Texture" id=10]
|
||||||
|
[ext_resource path="res://track1/policeCar/policeiso_0003.png" type="Texture" id=11]
|
||||||
|
[ext_resource path="res://track1/policeCar/policeiso_0004.png" type="Texture" id=12]
|
||||||
|
[ext_resource path="res://track1/policeCar/policeiso_0001.png" type="Texture" id=13]
|
||||||
|
[ext_resource path="res://track1/policeCar/policeiso_0002.png" type="Texture" id=14]
|
||||||
|
[ext_resource path="res://track1/policeCar/policeiso_0007.png" type="Texture" id=15]
|
||||||
|
[ext_resource path="res://track1/policeCar/policeiso_0000.png" type="Texture" id=16]
|
||||||
|
[ext_resource path="res://track1/policeCar/policeiso_0005.png" type="Texture" id=17]
|
||||||
|
[ext_resource path="res://track1/policeCar/policeiso_0006.png" type="Texture" id=18]
|
||||||
|
[ext_resource path="res://assets/2D_Car_Pack_DevilsWorkShop_V01/car02/car02iso_0003.png" type="Texture" id=19]
|
||||||
|
[ext_resource path="res://assets/2D_Car_Pack_DevilsWorkShop_V01/car02/car02iso_0004.png" type="Texture" id=20]
|
||||||
|
[ext_resource path="res://assets/2D_Car_Pack_DevilsWorkShop_V01/car02/car02iso_0001.png" type="Texture" id=21]
|
||||||
|
[ext_resource path="res://assets/2D_Car_Pack_DevilsWorkShop_V01/car02/car02iso_0002.png" type="Texture" id=22]
|
||||||
|
[ext_resource path="res://assets/2D_Car_Pack_DevilsWorkShop_V01/car02/car02iso_0007.png" type="Texture" id=23]
|
||||||
|
[ext_resource path="res://assets/2D_Car_Pack_DevilsWorkShop_V01/car02/car02iso_0000.png" type="Texture" id=24]
|
||||||
|
[ext_resource path="res://assets/2D_Car_Pack_DevilsWorkShop_V01/car02/car02iso_0005.png" type="Texture" id=25]
|
||||||
|
[ext_resource path="res://assets/2D_Car_Pack_DevilsWorkShop_V01/car02/car02iso_0006.png" type="Texture" id=26]
|
||||||
|
[ext_resource path="res://CarSprite.gd" type="Script" id=27]
|
||||||
|
|
||||||
|
[sub_resource type="Curve2D" id=6]
|
||||||
|
_data = {
|
||||||
|
"points": PoolVector2Array( )
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="SpriteFrames" id=2]
|
||||||
|
animations = [ {
|
||||||
|
"frames": [ ExtResource( 3 ), ExtResource( 4 ), ExtResource( 5 ), ExtResource( 6 ), ExtResource( 7 ), ExtResource( 8 ), ExtResource( 9 ), ExtResource( 10 ) ],
|
||||||
|
"loop": true,
|
||||||
|
"name": "bus",
|
||||||
|
"speed": 5.0
|
||||||
|
}, {
|
||||||
|
"frames": [ ExtResource( 11 ), ExtResource( 12 ), ExtResource( 13 ), ExtResource( 14 ), ExtResource( 15 ), ExtResource( 16 ), ExtResource( 17 ), ExtResource( 18 ) ],
|
||||||
|
"loop": true,
|
||||||
|
"name": "police",
|
||||||
|
"speed": 5.0
|
||||||
|
}, {
|
||||||
|
"frames": [ ExtResource( 19 ), ExtResource( 20 ), ExtResource( 21 ), ExtResource( 22 ), ExtResource( 23 ), ExtResource( 24 ), ExtResource( 25 ), ExtResource( 26 ) ],
|
||||||
|
"loop": true,
|
||||||
|
"name": "car",
|
||||||
|
"speed": 5.0
|
||||||
|
} ]
|
||||||
|
|
||||||
|
[node name="RaceTrack" type="Path2D"]
|
||||||
|
curve = SubResource( 6 )
|
||||||
|
script = ExtResource( 1 )
|
||||||
|
|
||||||
|
[node name="TrackOpponent" type="PathFollow2D" parent="."]
|
||||||
|
position = Vector2( 928.559, 184.278 )
|
||||||
|
rotation = -0.013337
|
||||||
|
|
||||||
|
[node name="OpponentCar" type="Node2D" parent="TrackOpponent"]
|
||||||
|
position = Vector2( 0, 22 )
|
||||||
|
scale = Vector2( 0.25, 0.25 )
|
||||||
|
script = ExtResource( 2 )
|
||||||
|
|
||||||
|
[node name="CarSprite" type="AnimatedSprite" parent="TrackOpponent/OpponentCar"]
|
||||||
|
position = Vector2( -3.20422, 3.0376 )
|
||||||
|
scale = Vector2( 0.8, 0.8 )
|
||||||
|
frames = SubResource( 2 )
|
||||||
|
animation = "car"
|
||||||
|
script = ExtResource( 27 )
|
||||||
115
Track2.tscn
115
Track2.tscn
@@ -1,62 +1,19 @@
|
|||||||
[gd_scene load_steps=39 format=2]
|
[gd_scene load_steps=13 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://TileMap2.gd" type="Script" id=1]
|
[ext_resource path="res://TileMap2.gd" type="Script" id=1]
|
||||||
[ext_resource path="res://PlayerCar.tscn" type="PackedScene" id=2]
|
[ext_resource path="res://RaceTrack.tscn" type="PackedScene" id=2]
|
||||||
[ext_resource path="res://OpponentCar.gd" type="Script" id=3]
|
[ext_resource path="res://PlayerCar.tscn" type="PackedScene" id=3]
|
||||||
[ext_resource path="res://assets/2D_Car_Pack_DevilsWorkShop_V01/bus/busiso_0007.png" type="Texture" id=4]
|
[ext_resource path="res://track2/track.png" type="Texture" id=4]
|
||||||
[ext_resource path="res://assets/2D_Car_Pack_DevilsWorkShop_V01/bus/busiso_0004.png" type="Texture" id=5]
|
[ext_resource path="res://Gui.tscn" type="PackedScene" id=5]
|
||||||
[ext_resource path="res://assets/2D_Car_Pack_DevilsWorkShop_V01/bus/busiso_0001.png" type="Texture" id=6]
|
[ext_resource path="res://Gui.gd" type="Script" id=6]
|
||||||
[ext_resource path="res://assets/2D_Car_Pack_DevilsWorkShop_V01/bus/busiso_0002.png" type="Texture" id=7]
|
[ext_resource path="res://Oswald-Bold.otf" type="DynamicFontData" id=7]
|
||||||
[ext_resource path="res://assets/2D_Car_Pack_DevilsWorkShop_V01/bus/busiso_0003.png" type="Texture" id=8]
|
[ext_resource path="res://Wrong Way.gd" type="Script" id=8]
|
||||||
[ext_resource path="res://assets/2D_Car_Pack_DevilsWorkShop_V01/bus/busiso_0000.png" type="Texture" id=9]
|
|
||||||
[ext_resource path="res://assets/2D_Car_Pack_DevilsWorkShop_V01/bus/busiso_0005.png" type="Texture" id=10]
|
|
||||||
[ext_resource path="res://assets/2D_Car_Pack_DevilsWorkShop_V01/bus/busiso_0006.png" type="Texture" id=11]
|
|
||||||
[ext_resource path="res://track1/policeCar/policeiso_0003.png" type="Texture" id=12]
|
|
||||||
[ext_resource path="res://track1/policeCar/policeiso_0004.png" type="Texture" id=13]
|
|
||||||
[ext_resource path="res://track1/policeCar/policeiso_0001.png" type="Texture" id=14]
|
|
||||||
[ext_resource path="res://track1/policeCar/policeiso_0002.png" type="Texture" id=15]
|
|
||||||
[ext_resource path="res://track1/policeCar/policeiso_0007.png" type="Texture" id=16]
|
|
||||||
[ext_resource path="res://track1/policeCar/policeiso_0000.png" type="Texture" id=17]
|
|
||||||
[ext_resource path="res://track1/policeCar/policeiso_0005.png" type="Texture" id=18]
|
|
||||||
[ext_resource path="res://track1/policeCar/policeiso_0006.png" type="Texture" id=19]
|
|
||||||
[ext_resource path="res://assets/2D_Car_Pack_DevilsWorkShop_V01/car02/car02iso_0003.png" type="Texture" id=20]
|
|
||||||
[ext_resource path="res://assets/2D_Car_Pack_DevilsWorkShop_V01/car02/car02iso_0004.png" type="Texture" id=21]
|
|
||||||
[ext_resource path="res://assets/2D_Car_Pack_DevilsWorkShop_V01/car02/car02iso_0001.png" type="Texture" id=22]
|
|
||||||
[ext_resource path="res://assets/2D_Car_Pack_DevilsWorkShop_V01/car02/car02iso_0002.png" type="Texture" id=23]
|
|
||||||
[ext_resource path="res://assets/2D_Car_Pack_DevilsWorkShop_V01/car02/car02iso_0007.png" type="Texture" id=24]
|
|
||||||
[ext_resource path="res://assets/2D_Car_Pack_DevilsWorkShop_V01/car02/car02iso_0000.png" type="Texture" id=25]
|
|
||||||
[ext_resource path="res://assets/2D_Car_Pack_DevilsWorkShop_V01/car02/car02iso_0005.png" type="Texture" id=26]
|
|
||||||
[ext_resource path="res://assets/2D_Car_Pack_DevilsWorkShop_V01/car02/car02iso_0006.png" type="Texture" id=27]
|
|
||||||
[ext_resource path="res://CarSprite.gd" type="Script" id=28]
|
|
||||||
[ext_resource path="res://track2/track.png" type="Texture" id=29]
|
|
||||||
[ext_resource path="res://Gui.tscn" type="PackedScene" id=30]
|
|
||||||
[ext_resource path="res://Gui.gd" type="Script" id=31]
|
|
||||||
[ext_resource path="res://Oswald-Bold.otf" type="DynamicFontData" id=32]
|
|
||||||
[ext_resource path="res://Wrong Way.gd" type="Script" id=33]
|
|
||||||
|
|
||||||
[sub_resource type="Curve2D" id=1]
|
[sub_resource type="Curve2D" id=1]
|
||||||
_data = {
|
_data = {
|
||||||
"points": PoolVector2Array( 0, 0, 0, 0, 480.755, 160.968, -44.1176, -1.2605, 44.1176, 1.2605, 684, 160.042, 0, 0, 0, 0, 759.607, 207.133, 0, -74.5098, 0, 74.5098, 769.296, 303.494, 0.926585, -49.109, -0.926585, 49.109, 768.41, 373.455, 31.9672, -0.926585, -31.9672, 0.926585, 708.312, 430.479, 0, 0, 0, 0, 572.437, 428.124, 6.46179, -42.6478, -6.46179, 42.6478, 517.286, 470.208, 0, 0, 0, 0, 513.409, 733.849, 76.2492, 0, -76.2492, 0, 447.99, 810.7, 0, 0, 0, 0, 382.881, 731.264, 0, 52.9867, 0, -52.9867, 384.173, 475.378, 0, 0, 0, 0, 329.971, 426.614, 13.9668, 1.39668, -13.9668, -1.39668, 184.018, 428.709, 1.39668, 43.297, -1.39668, -43.297, 121.023, 363.376, 0.814508, 29.1703, -0.814508, -29.1703, 118.928, 292.145, -63.5488, 1.39668, 63.5488, -1.39668, 182.477, 159.461, 0, 0, 0, 0, 304.658, 160.902, 0, 0, 0, 0, 480.755, 161.631 )
|
"points": PoolVector2Array( 0, 0, 0, 0, 480.755, 160.968, -44.1176, -1.2605, 44.1176, 1.2605, 684, 160.042, 0, 0, 0, 0, 759.607, 207.133, 0, -74.5098, 0, 74.5098, 769.296, 303.494, 0.926585, -49.109, -0.926585, 49.109, 768.41, 373.455, 31.9672, -0.926585, -31.9672, 0.926585, 708.312, 430.479, 0, 0, 0, 0, 572.437, 428.124, 6.46179, -42.6478, -6.46179, 42.6478, 517.286, 470.208, 0, 0, 0, 0, 513.409, 733.849, 76.2492, 0, -76.2492, 0, 447.99, 810.7, 0, 0, 0, 0, 382.881, 731.264, 0, 52.9867, 0, -52.9867, 384.173, 475.378, 0, 0, 0, 0, 329.971, 426.614, 13.9668, 1.39668, -13.9668, -1.39668, 184.018, 428.709, 1.39668, 43.297, -1.39668, -43.297, 121.023, 363.376, 0.814508, 29.1703, -0.814508, -29.1703, 118.928, 292.145, -63.5488, 1.39668, 63.5488, -1.39668, 182.477, 159.461, 0, 0, 0, 0, 304.658, 160.902, 0, 0, 0, 0, 480.755, 161.631 )
|
||||||
}
|
}
|
||||||
|
|
||||||
[sub_resource type="SpriteFrames" id=2]
|
|
||||||
animations = [ {
|
|
||||||
"frames": [ ExtResource( 4 ), ExtResource( 5 ), ExtResource( 6 ), ExtResource( 7 ), ExtResource( 8 ), ExtResource( 9 ), ExtResource( 10 ), ExtResource( 11 ) ],
|
|
||||||
"loop": true,
|
|
||||||
"name": "bus",
|
|
||||||
"speed": 5.0
|
|
||||||
}, {
|
|
||||||
"frames": [ ExtResource( 12 ), ExtResource( 13 ), ExtResource( 14 ), ExtResource( 15 ), ExtResource( 16 ), ExtResource( 17 ), ExtResource( 18 ), ExtResource( 19 ) ],
|
|
||||||
"loop": true,
|
|
||||||
"name": "police",
|
|
||||||
"speed": 5.0
|
|
||||||
}, {
|
|
||||||
"frames": [ ExtResource( 20 ), ExtResource( 21 ), ExtResource( 22 ), ExtResource( 23 ), ExtResource( 24 ), ExtResource( 25 ), ExtResource( 26 ), ExtResource( 27 ) ],
|
|
||||||
"loop": true,
|
|
||||||
"name": "car",
|
|
||||||
"speed": 5.0
|
|
||||||
} ]
|
|
||||||
|
|
||||||
[sub_resource type="Gradient" id=3]
|
[sub_resource type="Gradient" id=3]
|
||||||
colors = PoolColorArray( 0.242729, 0.410156, 0.128174, 1, 0.088892, 0.507812, 0.0753784, 1 )
|
colors = PoolColorArray( 0.242729, 0.410156, 0.128174, 1, 0.088892, 0.507812, 0.0753784, 1 )
|
||||||
|
|
||||||
@@ -69,7 +26,7 @@ outline_size = 2
|
|||||||
outline_color = Color( 0.254902, 0.121569, 0.121569, 1 )
|
outline_color = Color( 0.254902, 0.121569, 0.121569, 1 )
|
||||||
extra_spacing_char = 3
|
extra_spacing_char = 3
|
||||||
extra_spacing_space = 3
|
extra_spacing_space = 3
|
||||||
font_data = ExtResource( 32 )
|
font_data = ExtResource( 7 )
|
||||||
|
|
||||||
[node name="Track2" type="Node2D"]
|
[node name="Track2" type="Node2D"]
|
||||||
|
|
||||||
@@ -78,43 +35,29 @@ cell_size = Vector2( 128, 128 )
|
|||||||
format = 1
|
format = 1
|
||||||
script = ExtResource( 1 )
|
script = ExtResource( 1 )
|
||||||
|
|
||||||
|
[node name="RaceTrack" parent="." instance=ExtResource( 2 )]
|
||||||
|
|
||||||
|
[node name="TrackPlayer" type="PathFollow2D" parent="RaceTrack"]
|
||||||
|
position = Vector2( 928.559, 184.278 )
|
||||||
|
rotation = -0.013337
|
||||||
|
|
||||||
|
[node name="PlayerCar" parent="RaceTrack/TrackPlayer" instance=ExtResource( 3 )]
|
||||||
|
position = Vector2( 0, -22.892 )
|
||||||
|
scale = Vector2( 0.25, 0.25 )
|
||||||
|
skin = "car"
|
||||||
|
|
||||||
[node name="Track" type="Path2D" parent="."]
|
[node name="Track" type="Path2D" parent="."]
|
||||||
position = Vector2( 447.804, 23.3101 )
|
position = Vector2( 447.804, 23.3101 )
|
||||||
z_index = 2
|
z_index = 2
|
||||||
curve = SubResource( 1 )
|
curve = SubResource( 1 )
|
||||||
|
|
||||||
[node name="TrackPlayer" type="PathFollow2D" parent="Track"]
|
|
||||||
position = Vector2( 480.755, 160.968 )
|
|
||||||
rotation = -0.013337
|
|
||||||
|
|
||||||
[node name="PlayerCar" parent="Track/TrackPlayer" instance=ExtResource( 2 )]
|
|
||||||
position = Vector2( 0, -22.892 )
|
|
||||||
scale = Vector2( 0.25, 0.25 )
|
|
||||||
skin = "police"
|
|
||||||
|
|
||||||
[node name="TrackOpponent" type="PathFollow2D" parent="Track"]
|
|
||||||
position = Vector2( 480.755, 160.968 )
|
|
||||||
rotation = -0.013337
|
|
||||||
|
|
||||||
[node name="OpponentCar" type="Node2D" parent="Track/TrackOpponent"]
|
|
||||||
position = Vector2( 0, 22 )
|
|
||||||
scale = Vector2( 0.25, 0.25 )
|
|
||||||
script = ExtResource( 3 )
|
|
||||||
|
|
||||||
[node name="CarSprite" type="AnimatedSprite" parent="Track/TrackOpponent/OpponentCar"]
|
|
||||||
position = Vector2( -3.20422, 3.0376 )
|
|
||||||
scale = Vector2( 0.8, 0.8 )
|
|
||||||
frames = SubResource( 2 )
|
|
||||||
animation = "car"
|
|
||||||
script = ExtResource( 28 )
|
|
||||||
|
|
||||||
[node name="CanvasLayer" type="CanvasLayer" parent="."]
|
[node name="CanvasLayer" type="CanvasLayer" parent="."]
|
||||||
layer = -1
|
layer = -1
|
||||||
|
|
||||||
[node name="TextureRect" type="TextureRect" parent="CanvasLayer"]
|
[node name="TextureRect" type="TextureRect" parent="CanvasLayer"]
|
||||||
margin_right = 1923.0
|
margin_right = 1923.0
|
||||||
margin_bottom = 1084.0
|
margin_bottom = 1084.0
|
||||||
texture = ExtResource( 29 )
|
texture = ExtResource( 4 )
|
||||||
|
|
||||||
[node name="CanvasLayer" type="CanvasLayer" parent="CanvasLayer"]
|
[node name="CanvasLayer" type="CanvasLayer" parent="CanvasLayer"]
|
||||||
layer = -1
|
layer = -1
|
||||||
@@ -132,21 +75,21 @@ margin_right = 159.21
|
|||||||
margin_bottom = 107.773
|
margin_bottom = 107.773
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="HBoxContainer"]
|
[node name="Label" type="Label" parent="HBoxContainer"]
|
||||||
margin_top = 17.0
|
margin_top = 18.0
|
||||||
margin_right = 53.0
|
margin_right = 53.0
|
||||||
margin_bottom = 31.0
|
margin_bottom = 32.0
|
||||||
text = "Rotation"
|
text = "Rotation"
|
||||||
|
|
||||||
[node name="Rotation" type="Label" parent="HBoxContainer"]
|
[node name="Rotation" type="Label" parent="HBoxContainer"]
|
||||||
margin_left = 57.0
|
margin_left = 57.0
|
||||||
margin_top = 17.0
|
margin_top = 18.0
|
||||||
margin_right = 71.0
|
margin_right = 71.0
|
||||||
margin_bottom = 31.0
|
margin_bottom = 32.0
|
||||||
text = "0°"
|
text = "0°"
|
||||||
|
|
||||||
[node name="GUI" parent="." instance=ExtResource( 30 )]
|
[node name="GUI" parent="." instance=ExtResource( 5 )]
|
||||||
editor/display_folded = false
|
editor/display_folded = false
|
||||||
script = ExtResource( 31 )
|
script = ExtResource( 6 )
|
||||||
|
|
||||||
[node name="Wrong Way" type="Label" parent="."]
|
[node name="Wrong Way" type="Label" parent="."]
|
||||||
margin_left = 792.258
|
margin_left = 792.258
|
||||||
@@ -160,9 +103,9 @@ custom_colors/font_color = Color( 0.780392, 0.129412, 0.129412, 1 )
|
|||||||
text = "WRONG WAY !!"
|
text = "WRONG WAY !!"
|
||||||
align = 1
|
align = 1
|
||||||
valign = 1
|
valign = 1
|
||||||
script = ExtResource( 33 )
|
script = ExtResource( 8 )
|
||||||
[connection signal="lap_completed" from="TileMap" to="GUI" method="_on_TileMap_lap_completed"]
|
[connection signal="lap_completed" from="TileMap" to="GUI" method="_on_TileMap_lap_completed"]
|
||||||
[connection signal="player_moved" from="TileMap" to="Track/TrackPlayer/PlayerCar" method="_on_TileMap_player_moved"]
|
[connection signal="player_moved" from="TileMap" to="RaceTrack/TrackPlayer/PlayerCar" method="_on_TileMap_player_moved"]
|
||||||
[connection signal="wrong_way" from="TileMap" to="Wrong Way" method="_on_TileMap_wrong_way"]
|
[connection signal="wrong_way" from="TileMap" to="Wrong Way" method="_on_TileMap_wrong_way"]
|
||||||
|
|
||||||
[editable path="GUI"]
|
[editable path="GUI"]
|
||||||
|
|||||||
Reference in New Issue
Block a user