7-9-25 6:00pm7-9-25 6:00pm7-9-25 6:00pm7-9-25 6:00pm7-9-25 6:00pm7-9-25
6:00pm7-9-25 6:00pm7-9-25 6:00pm7-9-25 6:00pm
This commit is contained in:
58
Gameplay/Cog.cs
Normal file
58
Gameplay/Cog.cs
Normal file
@@ -0,0 +1,58 @@
|
||||
using Godot;
|
||||
using System;
|
||||
|
||||
public partial class Cog : Node2D
|
||||
{
|
||||
[Export]
|
||||
public int Aptitude = 10, Agility = 10, Ardor = 10, Accuity = 10, Awareness = 10, Appeal = 10;
|
||||
|
||||
public bool _dead;
|
||||
public int _health, _healthMax, _energy, _energyMax, _stamina, _staminaMax, _burden, _turnBandwidth, _turnBandwidthMax, _battleBandwidth, _criticalChance;
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
_dead = false;
|
||||
_health = Ardor * 12;
|
||||
_healthMax = _health;
|
||||
_energy = Accuity * 12;
|
||||
_energyMax = _energy;
|
||||
_stamina = Agility * 12;
|
||||
_staminaMax = _stamina;
|
||||
_burden = Appeal / 12;
|
||||
_turnBandwidth = (int)(Awareness * 2 / 3);
|
||||
_turnBandwidthMax = _turnBandwidth;
|
||||
_battleBandwidth = _turnBandwidthMax * 4;
|
||||
_criticalChance = 10;
|
||||
|
||||
}
|
||||
|
||||
public void Attack(Marble target)
|
||||
{
|
||||
Marble marble = GetNode<Marble>("Marble");
|
||||
if (marble.Launched)
|
||||
{
|
||||
target.DefenseChange(-3);
|
||||
}
|
||||
}
|
||||
|
||||
public void HealthChange(int change)
|
||||
{
|
||||
_health += change;
|
||||
if (_health < 0)
|
||||
{
|
||||
_dead = true;
|
||||
}
|
||||
}
|
||||
|
||||
public void HoldMarble()
|
||||
{
|
||||
Marble marble = GetNode<Marble>("Marble");
|
||||
marble.Holding = true;
|
||||
}
|
||||
|
||||
public void PlaceMarble(Vector2 position)
|
||||
{
|
||||
Marble marble = GetNode<Marble>("Marble");
|
||||
marble.Start(position);
|
||||
}
|
||||
}
|
||||
1
Gameplay/Cog.cs.uid
Normal file
1
Gameplay/Cog.cs.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://b8ppwhc4hl0uk
|
||||
@@ -12,13 +12,12 @@ public partial class Main : Node
|
||||
public void NewGame()
|
||||
{
|
||||
//_score = 0;
|
||||
|
||||
var player = GetNode<Marble>("Marble");
|
||||
var startPosition = GetNode<Marker2D>("StartPosition");
|
||||
player.Start(startPosition.Position);
|
||||
var player2 = GetNode<Marble>("Marble2");
|
||||
var startPosition2 = GetNode<Marker2D>("StartPosition2");
|
||||
player2.Start(startPosition2.Position);
|
||||
Marker2D enemyStart = GetNode<Marker2D>("EnemyStart");
|
||||
Cog enemy = GetNode<Cog>("Enemy");
|
||||
enemy.PlaceMarble(enemyStart.Position);
|
||||
|
||||
Cog player = GetNode<Cog>("Player");
|
||||
player.HoldMarble();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -6,63 +6,77 @@ public partial class Marble : RigidBody2D
|
||||
// Don't forget to rebuild the project so the editor knows about the new signal.
|
||||
|
||||
[Signal]
|
||||
public delegate void HitEventHandler();
|
||||
public delegate void HoverEventHandler(bool tf = true);
|
||||
[Signal]
|
||||
public delegate void HoverEventHandler();
|
||||
public delegate void SelectEventHandler(bool tf = true);
|
||||
[Signal]
|
||||
public delegate void HoverFalseEventHandler();
|
||||
public delegate void AimEventHandler(bool tf = true);
|
||||
[Signal]
|
||||
public delegate void SelectEventHandler();
|
||||
public delegate void LaunchEventHandler(bool tf = true);
|
||||
[Signal]
|
||||
public delegate void SelectFalseEventHandler();
|
||||
public delegate void MoveEventHandler(bool tf = true);
|
||||
[Signal]
|
||||
public delegate void AimEventHandler();
|
||||
public delegate void BumpMarbleEventHandler(Marble marble);
|
||||
[Signal]
|
||||
public delegate void AimFalseEventHandler();
|
||||
[Signal]
|
||||
public delegate void LaunchEventHandler();
|
||||
[Signal]
|
||||
public delegate void MoveEventHandler();
|
||||
[Signal]
|
||||
public delegate void StopEventHandler();
|
||||
public delegate void DefenseDownEventHandler(int damage);
|
||||
|
||||
[Export]
|
||||
public int Speed { get; set; } = 400; // How fast the player will move (pixels/sec).
|
||||
|
||||
public bool Hovered = false, Selected = false, Aimed = false, Launched = false, Moving = false;
|
||||
public bool Holding = false, Placed = false, Hovered = false, Selected = false, Aimed = false, Launched = false, Moving = false;
|
||||
[Export]
|
||||
public int Defense = 10, Speed = 400;
|
||||
[Export]
|
||||
public Vector2 Force = Vector2.Zero, Velocity = Vector2.Zero;
|
||||
[Export]
|
||||
public Vector2 ScreenSize; // Size of the game window.
|
||||
|
||||
public int _defenseMax;
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
ScreenSize = GetViewportRect().Size;
|
||||
_defenseMax = Defense;
|
||||
|
||||
//Hide();
|
||||
}
|
||||
|
||||
public override void _PhysicsProcess(double delta) //THIS IS LIKE THE UPDATE FUNCTION
|
||||
{
|
||||
TrySelect();
|
||||
TryAim();
|
||||
TryLaunch();
|
||||
TryMovement(delta);
|
||||
|
||||
if (Placed)
|
||||
{
|
||||
TrySelect();
|
||||
TryAim();
|
||||
TryLaunch();
|
||||
TryMovement(delta);
|
||||
}
|
||||
else if (Holding)
|
||||
{
|
||||
GetNode<CollisionShape2D>("Bounds").Disabled = true;
|
||||
Position = GetGlobalMousePosition();
|
||||
if (Input.IsActionJustReleased("left_click"))
|
||||
{
|
||||
Start(Position);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void ProcessOnBump(Node2D body)
|
||||
public void DefenseChange(int change)
|
||||
{
|
||||
GD.Print(body);
|
||||
}
|
||||
|
||||
public void ProcessOnMovement()
|
||||
{
|
||||
|
||||
Defense += change;
|
||||
if (Defense < 0)
|
||||
{
|
||||
EmitSignal(SignalName.DefenseDown, Defense); // transfer damage over 0 to player
|
||||
Defense = 0; // set defense back to 0
|
||||
}
|
||||
}
|
||||
|
||||
public void Start(Vector2 position)
|
||||
{
|
||||
|
||||
Holding = false;
|
||||
Placed = true;
|
||||
Position = position;
|
||||
Show();
|
||||
GetNode<CollisionShape2D>("CollisionShape2D").Disabled = false;
|
||||
GetNode<CollisionShape2D>("Bounds").Disabled = false;
|
||||
}
|
||||
|
||||
public void TryAim()
|
||||
@@ -77,18 +91,19 @@ public partial class Marble : RigidBody2D
|
||||
{
|
||||
Vector2 mousePosition = GetGlobalMousePosition();
|
||||
Force = Position - mousePosition;
|
||||
//Rotation = Force.Angle() - 180; // if i want to implement this i need to work out the shader to accept rotation
|
||||
|
||||
if (!Input.IsActionPressed("left_click"))
|
||||
{
|
||||
if (!Hovered)
|
||||
{
|
||||
Launched = true;
|
||||
EmitSignal(SignalName.SelectFalse);
|
||||
EmitSignal(SignalName.Select, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
Aimed = false;
|
||||
EmitSignal(SignalName.AimFalse);
|
||||
EmitSignal(SignalName.Aim, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -99,10 +114,10 @@ public partial class Marble : RigidBody2D
|
||||
if (Aimed && Input.IsActionJustReleased("left_click"))
|
||||
{
|
||||
Selected = false;
|
||||
EmitSignal(SignalName.SelectFalse);
|
||||
EmitSignal(SignalName.Select, false);
|
||||
|
||||
Aimed = false;
|
||||
EmitSignal(SignalName.AimFalse);
|
||||
EmitSignal(SignalName.Aim, false);
|
||||
|
||||
Launched = true;
|
||||
EmitSignal(SignalName.Launch);
|
||||
@@ -124,12 +139,10 @@ public partial class Marble : RigidBody2D
|
||||
}
|
||||
}
|
||||
if (Moving)
|
||||
{
|
||||
ProcessOnMovement();
|
||||
|
||||
{
|
||||
Vector2 Scroll = -LinearVelocity / 100;
|
||||
|
||||
Sprite2D sprite = (Sprite2D)GetNode("Sprite2D");
|
||||
Sprite2D sprite = (Sprite2D)GetNode("Texture");
|
||||
ShaderMaterial material = (ShaderMaterial)sprite.Material;
|
||||
|
||||
float CurrentScrollX = (float)material.GetShaderParameter("scroll_x");
|
||||
@@ -140,8 +153,9 @@ public partial class Marble : RigidBody2D
|
||||
|
||||
if (Sleeping)
|
||||
{
|
||||
Launched = false;
|
||||
Moving = false;
|
||||
EmitSignal(SignalName.Stop);
|
||||
EmitSignal(SignalName.Move, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -164,7 +178,7 @@ public partial class Marble : RigidBody2D
|
||||
if (Input.IsActionJustPressed("left_click") && Selected)
|
||||
{
|
||||
Selected = false;
|
||||
EmitSignal(SignalName.SelectFalse);
|
||||
EmitSignal(SignalName.Select, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -179,16 +193,14 @@ public partial class Marble : RigidBody2D
|
||||
private void OnMouseExited()
|
||||
{
|
||||
Hovered = false;
|
||||
EmitSignal(SignalName.HoverFalse);
|
||||
EmitSignal(SignalName.Hover, false);
|
||||
}
|
||||
|
||||
private void OnBodyEntered(Node2D body)
|
||||
{
|
||||
if (body.GetType() == typeof(Marble))
|
||||
{
|
||||
Marble marble = (Marble)body;
|
||||
ProcessOnBump(marble);
|
||||
marble.ProcessOnBump(this);
|
||||
EmitSignal(SignalName.BumpMarble, (Marble)body);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
15
Gameplay/cog.tscn
Normal file
15
Gameplay/cog.tscn
Normal file
@@ -0,0 +1,15 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://s0dbttuctm8"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b8ppwhc4hl0uk" path="res://Gameplay/Cog.cs" id="1_tsf7f"]
|
||||
[ext_resource type="PackedScene" uid="uid://c8n4lue2bn25n" path="res://Gameplay/marble.tscn" id="2_unqi5"]
|
||||
|
||||
[node name="Cog" type="Node2D"]
|
||||
script = ExtResource("1_tsf7f")
|
||||
|
||||
[node name="Marble" parent="." instance=ExtResource("2_unqi5")]
|
||||
|
||||
[node name="Picture" type="Sprite2D" parent="."]
|
||||
visible = false
|
||||
|
||||
[connection signal="BumpMarble" from="Marble" to="." method="Attack"]
|
||||
[connection signal="DefenseDown" from="Marble" to="." method="HealthChange"]
|
||||
141
Gameplay/cog_hud.tscn
Normal file
141
Gameplay/cog_hud.tscn
Normal file
@@ -0,0 +1,141 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://cw2ypbamocty5"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dy4lmwn1dit26" path="res://art/shade.png" id="1_coxn2"]
|
||||
|
||||
[node name="CogHud" type="CanvasLayer"]
|
||||
|
||||
[node name="Background" type="Sprite2D" parent="."]
|
||||
position = Vector2(98, -128)
|
||||
scale = Vector2(0.765625, 1)
|
||||
texture = ExtResource("1_coxn2")
|
||||
|
||||
[node name="CogName" type="RichTextLabel" parent="Background"]
|
||||
offset_left = -111.02
|
||||
offset_top = -112.0
|
||||
offset_right = 99.9796
|
||||
offset_bottom = -89.0
|
||||
theme_override_colors/default_color = Color(0, 0, 0, 1)
|
||||
text = "Cog Name"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Background"]
|
||||
position = Vector2(-7.62939e-06, -31)
|
||||
scale = Vector2(0.428571, 0.328125)
|
||||
texture = ExtResource("1_coxn2")
|
||||
|
||||
[node name="HealthLabel" type="RichTextLabel" parent="Background"]
|
||||
offset_left = -111.02
|
||||
offset_top = 23.0
|
||||
offset_right = -59.0204
|
||||
offset_bottom = 46.0
|
||||
theme_override_colors/default_color = Color(0, 0, 0, 1)
|
||||
text = "Health"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="EnergyLabel" type="RichTextLabel" parent="Background"]
|
||||
offset_left = -111.02
|
||||
offset_top = 53.0
|
||||
offset_right = -58.0204
|
||||
offset_bottom = 76.0
|
||||
theme_override_colors/default_color = Color(0, 0, 0, 1)
|
||||
text = "Energy"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="BandwidthLabel" type="RichTextLabel" parent="Background"]
|
||||
offset_left = -111.02
|
||||
offset_top = 83.0
|
||||
offset_right = -27.0204
|
||||
offset_bottom = 106.0
|
||||
theme_override_colors/default_color = Color(0, 0, 0, 1)
|
||||
text = "Bandwidth"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="HealthValue" type="RichTextLabel" parent="Background"]
|
||||
offset_left = 1.30611
|
||||
offset_top = 23.0
|
||||
offset_right = 51.3061
|
||||
offset_bottom = 46.0
|
||||
theme_override_colors/default_color = Color(0, 0, 0, 1)
|
||||
text = "Value"
|
||||
horizontal_alignment = 2
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="EnergyValue" type="RichTextLabel" parent="Background"]
|
||||
offset_left = 1.30611
|
||||
offset_top = 53.0
|
||||
offset_right = 51.3061
|
||||
offset_bottom = 76.0
|
||||
theme_override_colors/default_color = Color(0, 0, 0, 1)
|
||||
text = "Value"
|
||||
horizontal_alignment = 2
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="BandwidthValue" type="RichTextLabel" parent="Background"]
|
||||
offset_left = 1.30611
|
||||
offset_top = 83.0
|
||||
offset_right = 51.3061
|
||||
offset_bottom = 106.0
|
||||
theme_override_colors/default_color = Color(0, 0, 0, 1)
|
||||
text = "Value"
|
||||
horizontal_alignment = 2
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="HealthMax" type="RichTextLabel" parent="Background"]
|
||||
offset_left = 60.0816
|
||||
offset_top = 23.0
|
||||
offset_right = 110.082
|
||||
offset_bottom = 46.0
|
||||
theme_override_colors/default_color = Color(0, 0, 0, 1)
|
||||
text = "Max"
|
||||
horizontal_alignment = 2
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="EnergyMax" type="RichTextLabel" parent="Background"]
|
||||
offset_left = 60.0816
|
||||
offset_top = 53.0
|
||||
offset_right = 110.082
|
||||
offset_bottom = 76.0
|
||||
theme_override_colors/default_color = Color(0, 0, 0, 1)
|
||||
text = "Max"
|
||||
horizontal_alignment = 2
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="BandwidthMax" type="RichTextLabel" parent="Background"]
|
||||
offset_left = 60.0816
|
||||
offset_top = 83.0
|
||||
offset_right = 110.082
|
||||
offset_bottom = 106.0
|
||||
theme_override_colors/default_color = Color(0, 0, 0, 1)
|
||||
text = "Max"
|
||||
horizontal_alignment = 2
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="HealthDivider" type="RichTextLabel" parent="Background"]
|
||||
offset_left = 39.1837
|
||||
offset_top = 23.0
|
||||
offset_right = 89.1837
|
||||
offset_bottom = 46.0
|
||||
theme_override_colors/default_color = Color(0, 0, 0, 1)
|
||||
text = "/"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="EnergyDivider" type="RichTextLabel" parent="Background"]
|
||||
offset_left = 39.1837
|
||||
offset_top = 53.0
|
||||
offset_right = 89.1837
|
||||
offset_bottom = 76.0
|
||||
theme_override_colors/default_color = Color(0, 0, 0, 1)
|
||||
text = "/"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="BandwidthDivider" type="RichTextLabel" parent="Background"]
|
||||
offset_left = 39.1837
|
||||
offset_top = 83.0
|
||||
offset_right = 89.1837
|
||||
offset_bottom = 106.0
|
||||
theme_override_colors/default_color = Color(0, 0, 0, 1)
|
||||
text = "/"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
@@ -1,19 +1,14 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://yqtgkxjjexag"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://v6ovq4snxruc" path="res://Gameplay/Main.cs" id="1_0xm2m"]
|
||||
[ext_resource type="PackedScene" uid="uid://c8n4lue2bn25n" path="res://Gameplay/marble.tscn" id="2_h2yge"]
|
||||
[ext_resource type="PackedScene" uid="uid://s0dbttuctm8" path="res://Gameplay/cog.tscn" id="2_7rujl"]
|
||||
|
||||
[node name="Main" type="Node"]
|
||||
script = ExtResource("1_0xm2m")
|
||||
|
||||
[node name="Marble" parent="." instance=ExtResource("2_h2yge")]
|
||||
[node name="Player" parent="." instance=ExtResource("2_7rujl")]
|
||||
|
||||
[node name="StartPosition" type="Marker2D" parent="."]
|
||||
position = Vector2(200, 200)
|
||||
[node name="Enemy" parent="." instance=ExtResource("2_7rujl")]
|
||||
|
||||
[node name="Marble2" parent="." instance=ExtResource("2_h2yge")]
|
||||
|
||||
[node name="StartPosition2" type="Marker2D" parent="."]
|
||||
position = Vector2(400, 200)
|
||||
|
||||
[connection signal="Hit" from="Marble" to="." method="GameOver"]
|
||||
[node name="EnemyStart" type="Marker2D" parent="."]
|
||||
position = Vector2(837, 295)
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
[gd_scene load_steps=12 format=3 uid="uid://c8n4lue2bn25n"]
|
||||
[gd_scene load_steps=9 format=3 uid="uid://c8n4lue2bn25n"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b1bipn8tmpggr" path="res://Gameplay/Marble.cs" id="1_7ritg"]
|
||||
[ext_resource type="Shader" uid="uid://b6vvt5o0008ob" path="res://shaders/globe.gdshader" id="2_6v01e"]
|
||||
[ext_resource type="Texture2D" uid="uid://bigvacjklr7in" path="res://art/playerGrey_up1.png" id="2_76m5q"]
|
||||
[ext_resource type="Texture2D" uid="uid://bskloxogmm7ox" path="res://art/playerGrey_up2.png" id="3_4rms2"]
|
||||
[ext_resource type="Texture2D" uid="uid://dkduh13hcei0w" path="res://art/fruit.png" id="3_6v01e"]
|
||||
[ext_resource type="Texture2D" uid="uid://cww2tug20ksn3" path="res://art/playerGrey_walk1.png" id="4_iy80h"]
|
||||
[ext_resource type="Texture2D" uid="uid://csm4ru8wkc2cb" path="res://art/playerGrey_walk2.png" id="5_ryns1"]
|
||||
[ext_resource type="Texture2D" uid="uid://dd3s6x86dgxem" path="res://art/checkerboard.png" id="3_o5glk"]
|
||||
[ext_resource type="Texture2D" uid="uid://duy62uv828xcg" path="res://art/shadow.png" id="4_803qd"]
|
||||
[ext_resource type="Texture2D" uid="uid://c4jron4g4jalp" path="res://art/shine.png" id="5_fkve3"]
|
||||
|
||||
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_803qd"]
|
||||
bounce = 1.0
|
||||
@@ -18,33 +16,8 @@ shader_parameter/scroll_x = 0.0
|
||||
shader_parameter/scroll_y = 0.0
|
||||
shader_parameter/globe_magnitude = 1.0
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_n7ghd"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("2_76m5q")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("3_4rms2")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"up",
|
||||
"speed": 5.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("4_iy80h")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("5_ryns1")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"walk",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_803qd"]
|
||||
radius = 56.0803
|
||||
radius = 60.0
|
||||
|
||||
[node name="Marble" type="RigidBody2D"]
|
||||
input_pickable = true
|
||||
@@ -53,24 +26,27 @@ physics_material_override = SubResource("PhysicsMaterial_803qd")
|
||||
gravity_scale = 0.0
|
||||
contact_monitor = true
|
||||
max_contacts_reported = 1
|
||||
linear_damp = 3.0
|
||||
linear_damp = 2.0
|
||||
script = ExtResource("1_7ritg")
|
||||
metadata/_edit_group_ = true
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
[node name="Texture" type="Sprite2D" parent="."]
|
||||
material = SubResource("ShaderMaterial_bdlqm")
|
||||
position = Vector2(0, 1.3113e-06)
|
||||
scale = Vector2(0.0861539, 0.0861539)
|
||||
texture = ExtResource("3_6v01e")
|
||||
scale = Vector2(1.2, 1.2)
|
||||
texture = ExtResource("3_o5glk")
|
||||
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||
visible = false
|
||||
position = Vector2(0, 7)
|
||||
scale = Vector2(0.5, 0.5)
|
||||
sprite_frames = SubResource("SpriteFrames_n7ghd")
|
||||
animation = &"walk"
|
||||
[node name="Shadow" type="Sprite2D" parent="Texture"]
|
||||
position = Vector2(0, -1.1708e-06)
|
||||
scale = Vector2(0.390625, 0.390625)
|
||||
texture = ExtResource("4_803qd")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
[node name="Shine" type="Sprite2D" parent="Texture"]
|
||||
position = Vector2(0, -1.1708e-06)
|
||||
scale = Vector2(0.3976, 0.3976)
|
||||
texture = ExtResource("5_fkve3")
|
||||
|
||||
[node name="Bounds" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("CircleShape2D_803qd")
|
||||
|
||||
[connection signal="body_entered" from="." to="." method="OnBodyEntered"]
|
||||
|
||||
Reference in New Issue
Block a user