damage, dying, custom resources, simple UI
This commit is contained in:
parent
fd6ad5e001
commit
1a4f030097
@ -7,6 +7,7 @@
|
||||
[ext_resource type="Script" uid="uid://4hekg0d8n04f" path="res://Scripts/trigger.gd" id="3_wrm1d"]
|
||||
[ext_resource type="PackedScene" uid="uid://dotmw0uwnqv6w" path="res://Scenes/grenade.tscn" id="6_i6g32"]
|
||||
[ext_resource type="PackedScene" uid="uid://rn1d2w3p88sr" path="res://Scenes/slime.tscn" id="7_1l0tm"]
|
||||
[ext_resource type="PackedScene" uid="uid://dwl0ci4ejpmu2" path="res://Scenes/ui.tscn" id="8_v158k"]
|
||||
|
||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_v158k"]
|
||||
texture = ExtResource("3_1l0tm")
|
||||
@ -438,5 +439,9 @@ position = Vector2(636, 375)
|
||||
[node name="Slime2" parent="Enemies" unique_id=689767526 instance=ExtResource("7_1l0tm")]
|
||||
position = Vector2(546, 406)
|
||||
|
||||
[node name="UI" type="CanvasLayer" parent="." unique_id=1274660153]
|
||||
|
||||
[node name="Control" parent="UI" unique_id=1504539709 instance=ExtResource("8_v158k")]
|
||||
|
||||
[connection signal="body_entered" from="Area2D" to="Area2D" method="_on_body_entered"]
|
||||
[connection signal="triggerActiveSignal" from="Area2D" to="." method="_on_triggerSignal"]
|
||||
|
||||
@ -3,14 +3,72 @@
|
||||
[ext_resource type="Script" uid="uid://btmoyp0rwqmxe" path="res://Scripts/player.gd" id="1_v0iea"]
|
||||
[ext_resource type="Texture2D" uid="uid://dlax6d4nhkl4p" path="res://assets/graphics/player/idle/Player Idle 48x48.png" id="2_cvnsp"]
|
||||
[ext_resource type="Texture2D" uid="uid://cnpsd8q2hqrmp" path="res://assets/graphics/player/jump_fall/player jump 48x48.png" id="2_vgqql"]
|
||||
[ext_resource type="Texture2D" uid="uid://bm2nvpkg1tihf" path="res://assets/graphics/player/dead/Player Death 64x64.png" id="2_x3wgy"]
|
||||
[ext_resource type="Texture2D" uid="uid://bc251ptp8ujsv" path="res://assets/graphics/player/run/player run 48x48.png" id="3_6t5aa"]
|
||||
[ext_resource type="Texture2D" uid="uid://dcd86jsmvvi4m" path="res://assets/graphics/player/hurt/Player Hurt 48x48.png" id="3_fkybt"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_2poj3"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_y6uwr"]
|
||||
atlas = ExtResource("2_x3wgy")
|
||||
region = Rect2(0, 0, 48, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_83xs0"]
|
||||
atlas = ExtResource("2_x3wgy")
|
||||
region = Rect2(48, 0, 48, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ypfnu"]
|
||||
atlas = ExtResource("2_x3wgy")
|
||||
region = Rect2(96, 0, 48, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_xuaoq"]
|
||||
atlas = ExtResource("2_x3wgy")
|
||||
region = Rect2(144, 0, 48, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_wohnl"]
|
||||
atlas = ExtResource("2_x3wgy")
|
||||
region = Rect2(192, 0, 48, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_36dho"]
|
||||
atlas = ExtResource("2_x3wgy")
|
||||
region = Rect2(240, 0, 48, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_yh6i2"]
|
||||
atlas = ExtResource("2_x3wgy")
|
||||
region = Rect2(288, 0, 48, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_nv4vc"]
|
||||
atlas = ExtResource("2_x3wgy")
|
||||
region = Rect2(336, 0, 48, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_8gxox"]
|
||||
atlas = ExtResource("2_x3wgy")
|
||||
region = Rect2(384, 0, 48, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_11gg7"]
|
||||
atlas = ExtResource("2_x3wgy")
|
||||
region = Rect2(432, 0, 48, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_olqyp"]
|
||||
atlas = ExtResource("2_vgqql")
|
||||
region = Rect2(96, 0, 48, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_2ijsl"]
|
||||
atlas = ExtResource("3_fkybt")
|
||||
region = Rect2(0, 0, 48, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_p1odr"]
|
||||
atlas = ExtResource("3_fkybt")
|
||||
region = Rect2(48, 0, 48, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_0gysh"]
|
||||
atlas = ExtResource("3_fkybt")
|
||||
region = Rect2(96, 0, 48, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_vfarp"]
|
||||
atlas = ExtResource("3_fkybt")
|
||||
region = Rect2(144, 0, 48, 48)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_6t5aa"]
|
||||
atlas = ExtResource("2_cvnsp")
|
||||
region = Rect2(0, 0, 48, 48)
|
||||
@ -95,6 +153,41 @@ region = Rect2(336, 0, 48, 48)
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_y6uwr")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_83xs0")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ypfnu")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_xuaoq")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_wohnl")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_36dho")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_yh6i2")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_nv4vc")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_8gxox")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_11gg7")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"dead",
|
||||
"speed": 9.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_olqyp")
|
||||
}],
|
||||
"loop": false,
|
||||
@ -103,6 +196,23 @@ animations = [{
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_2ijsl")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_p1odr")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_0gysh")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_vfarp")
|
||||
}],
|
||||
"loop": false,
|
||||
"name": &"hurt",
|
||||
"speed": 12.0
|
||||
}, {
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_6t5aa")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
@ -201,7 +311,7 @@ position = Vector2(-14, -8)
|
||||
texture_filter = 1
|
||||
position = Vector2(0, -6)
|
||||
sprite_frames = SubResource("SpriteFrames_ukyrk")
|
||||
animation = &"idle"
|
||||
animation = &"dead"
|
||||
autoplay = "idle"
|
||||
|
||||
[node name="Camera2D" type="Camera2D" parent="." unique_id=522635127]
|
||||
|
||||
47
Scenes/ui.tscn
Normal file
47
Scenes/ui.tscn
Normal file
@ -0,0 +1,47 @@
|
||||
[gd_scene format=3 uid="uid://dwl0ci4ejpmu2"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://c6hdmgpywednh" path="res://Scripts/ui.gd" id="1_jxero"]
|
||||
|
||||
[node name="Control" type="Control" unique_id=1504539709]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_jxero")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="." unique_id=1721165743]
|
||||
layout_mode = 1
|
||||
anchors_preset = 10
|
||||
anchor_right = 1.0
|
||||
grow_horizontal = 2
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer" unique_id=71460237]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/HBoxContainer" unique_id=1544251315]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="health" type="Label" parent="VBoxContainer/HBoxContainer/MarginContainer" unique_id=623986244]
|
||||
layout_mode = 2
|
||||
text = "HEALTH"
|
||||
|
||||
[node name="MarginContainer2" type="MarginContainer" parent="VBoxContainer/HBoxContainer" unique_id=2101616423]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="time" type="Label" parent="VBoxContainer/HBoxContainer/MarginContainer2" unique_id=596670188]
|
||||
layout_mode = 2
|
||||
text = "TIME"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="MarginContainer3" type="MarginContainer" parent="VBoxContainer/HBoxContainer" unique_id=173654446]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="crates" type="Label" parent="VBoxContainer/HBoxContainer/MarginContainer3" unique_id=1150656356]
|
||||
layout_mode = 2
|
||||
text = "CRATES"
|
||||
horizontal_alignment = 2
|
||||
@ -2,6 +2,9 @@ extends Node2D
|
||||
|
||||
signal destroySignal(body)
|
||||
signal levelChangeSignal(level)
|
||||
signal damagePlayerSignal(damageTotal,playerHealthTotal)
|
||||
signal killPlayerSignal
|
||||
signal timeChangeSignal(currentTimeAvailable)
|
||||
|
||||
var levels=["res://Scenes/game.tscn","res://Scenes/level2.tscn","res://Scenes/level3.tscn"]
|
||||
var currentLevel = 0
|
||||
@ -15,9 +18,15 @@ var playerCurrentHealth:int = 100
|
||||
#enemies
|
||||
var enemiesDict = {}
|
||||
|
||||
var enemy:CharacterStats
|
||||
var player:CharacterStats
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
get_window().grab_focus()
|
||||
enemy = load("res://Scripts/rscs/slime_stats.tres")
|
||||
player = load("res://Scripts/rscs/player_stats.tres")
|
||||
|
||||
reset()
|
||||
add_child(timer)
|
||||
timer.wait_time = 1
|
||||
@ -26,15 +35,15 @@ func _ready() -> void:
|
||||
timer.start()
|
||||
|
||||
func secondCounter()->void:
|
||||
print("tick")
|
||||
timeAvailable -=1
|
||||
timeChangeSignal.emit(timeAvailable)
|
||||
if timeAvailable <=0:
|
||||
print("You lose baby!")
|
||||
levelChangeSignal.emit(levels[currentLevel])
|
||||
|
||||
func reset()->void:
|
||||
timeAvailable = timers[currentLevel]
|
||||
playerCurrentHealth = 100
|
||||
playerCurrentHealth = player.starting_health
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta: float) -> void:
|
||||
@ -42,12 +51,10 @@ func _process(delta: float) -> void:
|
||||
|
||||
|
||||
func _on_triggerSignal(body: Variant, intentMessage: Variant) -> void:
|
||||
print("GC knows about a trigger!")
|
||||
if body.is_in_group("destructible") and intentMessage == "destroy":
|
||||
destroySignal.emit(body)
|
||||
|
||||
func totalCrates(numberOfCrates:int)->void:
|
||||
print("GC knows total crates: "+str(numberOfCrates))
|
||||
if numberOfCrates <=0:
|
||||
print("You WON!!!!")
|
||||
currentLevel +=1
|
||||
@ -56,18 +63,20 @@ func totalCrates(numberOfCrates:int)->void:
|
||||
levelChangeSignal.emit(levels[currentLevel])
|
||||
|
||||
func _on_slime_damage(_body,slime)->void:
|
||||
print("GC knows slime doing damage")
|
||||
print("Doing damage: "+str(enemiesDict[slime]["damage"]))
|
||||
playerCurrentHealth -= enemiesDict[slime]["damage"]
|
||||
#send a custom signal about damage
|
||||
damagePlayerSignal.emit(enemiesDict[slime]["damage"],playerCurrentHealth)
|
||||
if playerCurrentHealth <=0:
|
||||
print("U ded")
|
||||
levelChangeSignal.emit(levels[currentLevel])
|
||||
killPlayerSignal.emit()
|
||||
func addEnemyToLevel(slime)->void:
|
||||
#give each enemy some health and damage
|
||||
var randamage = randi_range(1,20)
|
||||
|
||||
var enemyStat = {
|
||||
"health": 50,
|
||||
"damage": 30+randamage
|
||||
"health": enemy.starting_health,
|
||||
"damage": enemy.meleeDamage+randamage
|
||||
}
|
||||
enemiesDict[slime]=enemyStat
|
||||
func respawn()->void:
|
||||
levelChangeSignal.emit(levels[currentLevel])
|
||||
|
||||
@ -5,13 +5,14 @@ class_name Player extends CharacterBody2D
|
||||
@onready var left_spawn: Marker2D = $LeftSpawn
|
||||
@onready var player_graphic: AnimatedSprite2D = $PlayerGraphic
|
||||
|
||||
signal deathAnimationComplete
|
||||
|
||||
const SPEED = 300.0
|
||||
const JUMP_VELOCITY = -400.0
|
||||
var direction
|
||||
enum FaceDirection{LEFT,RIGHT}
|
||||
var facing:FaceDirection = FaceDirection.RIGHT
|
||||
enum PlayerState{IDLE,RUNNING,JUMPING,FALLING}
|
||||
enum PlayerState{IDLE,RUNNING,JUMPING,FALLING,HURT, DEAD}
|
||||
var current_player_state:PlayerState = PlayerState.IDLE
|
||||
|
||||
var pushTarget:RigidBody2D
|
||||
@ -20,8 +21,9 @@ var pushEnabled:bool = false
|
||||
var upJump:bool = false
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
handle_input()
|
||||
handle_movement(delta)
|
||||
if not current_player_state == PlayerState.HURT:
|
||||
handle_input()
|
||||
handle_movement(delta)
|
||||
handle_state()
|
||||
handle_animation()
|
||||
move_and_slide()
|
||||
@ -118,6 +120,10 @@ func handle_animation()->void:
|
||||
player_graphic.play("jump")
|
||||
PlayerState.FALLING:
|
||||
player_graphic.play("fall")
|
||||
PlayerState.HURT:
|
||||
player_graphic.play("hurt")
|
||||
PlayerState.DEAD:
|
||||
player_graphic.play("dead")
|
||||
|
||||
|
||||
|
||||
@ -125,3 +131,14 @@ func _on_animation_finished() -> void:
|
||||
match current_player_state:
|
||||
PlayerState.JUMPING:
|
||||
upJump = false
|
||||
PlayerState.HURT:
|
||||
current_player_state = PlayerState.IDLE
|
||||
PlayerState.DEAD:
|
||||
deathAnimationComplete.emit()
|
||||
|
||||
func takeDamage(_damage,_remainingHealth)->void:
|
||||
print("Player knows damage "+str(_damage))
|
||||
current_player_state = PlayerState.HURT
|
||||
|
||||
func die()->void:
|
||||
current_player_state = PlayerState.DEAD
|
||||
|
||||
8
Scripts/rscs/character_statst.gd
Normal file
8
Scripts/rscs/character_statst.gd
Normal file
@ -0,0 +1,8 @@
|
||||
class_name CharacterStats extends Resource
|
||||
|
||||
@export var health:int = 100
|
||||
@export var max_health:int = 120
|
||||
@export var starting_health:int = 100
|
||||
|
||||
@export var meleeDamage:int = 10
|
||||
@export var rangeDamage:int =5
|
||||
1
Scripts/rscs/character_statst.gd.uid
Normal file
1
Scripts/rscs/character_statst.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://deef1fi6sargw
|
||||
8
Scripts/rscs/player_stats.tres
Normal file
8
Scripts/rscs/player_stats.tres
Normal file
@ -0,0 +1,8 @@
|
||||
[gd_resource type="Resource" script_class="CharacterStats" format=3 uid="uid://cqbm43tl86gmq"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://deef1fi6sargw" path="res://Scripts/rscs/character_statst.gd" id="1_2wf5j"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_2wf5j")
|
||||
health = 110
|
||||
metadata/_custom_type_script = "uid://deef1fi6sargw"
|
||||
11
Scripts/rscs/slime_stats.tres
Normal file
11
Scripts/rscs/slime_stats.tres
Normal file
@ -0,0 +1,11 @@
|
||||
[gd_resource type="Resource" script_class="CharacterStats" format=3 uid="uid://dbhv3hltbjxk2"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://deef1fi6sargw" path="res://Scripts/rscs/character_statst.gd" id="1_38j4j"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_38j4j")
|
||||
health = 40
|
||||
max_health = 45
|
||||
starting_health = 40
|
||||
rangeDamage = 0
|
||||
metadata/_custom_type_script = "uid://deef1fi6sargw"
|
||||
@ -2,12 +2,20 @@ class_name SceneManager extends Node2D
|
||||
@onready var crates: Node2D = $"../Crates"
|
||||
var grenade = preload("res://Scenes/grenade.tscn")
|
||||
@onready var enemies: Node2D = $"../Enemies"
|
||||
@onready var player: Player = $"../Player"
|
||||
@onready var control: Control = $"../UI/Control"
|
||||
|
||||
func _ready() -> void:
|
||||
GameController.reset()
|
||||
print("Scene manager is ready!")
|
||||
GameController.destroySignal.connect(destroy)
|
||||
GameController.levelChangeSignal.connect(changeScene)
|
||||
GameController.damagePlayerSignal.connect(player.takeDamage)
|
||||
GameController.damagePlayerSignal.connect(control.upDateHealth)
|
||||
GameController.timeChangeSignal.connect(control.updateTime)
|
||||
|
||||
GameController.killPlayerSignal.connect(player.die)
|
||||
player.deathAnimationComplete.connect(GameController.respawn)
|
||||
buildLevel()
|
||||
|
||||
func destroy(body)->void:
|
||||
|
||||
18
Scripts/ui.gd
Normal file
18
Scripts/ui.gd
Normal file
@ -0,0 +1,18 @@
|
||||
extends Control
|
||||
|
||||
@onready var health: Label = $VBoxContainer/HBoxContainer/MarginContainer/health
|
||||
@onready var time: Label = $VBoxContainer/HBoxContainer/MarginContainer2/time
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
pass
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta: float) -> void:
|
||||
pass
|
||||
|
||||
func upDateHealth(_damage,_health)->void:
|
||||
health.text = "HEALTH: "+str(_health)
|
||||
func updateTime(timeAvailable)->void:
|
||||
time.text = str(timeAvailable)
|
||||
1
Scripts/ui.gd.uid
Normal file
1
Scripts/ui.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://c6hdmgpywednh
|
||||
BIN
assets/graphics/player/dead/Player Death 64x64.png
Normal file
BIN
assets/graphics/player/dead/Player Death 64x64.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
40
assets/graphics/player/dead/Player Death 64x64.png.import
Normal file
40
assets/graphics/player/dead/Player Death 64x64.png.import
Normal file
@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bm2nvpkg1tihf"
|
||||
path="res://.godot/imported/Player Death 64x64.png-a1335d3f0d31c2c547d022fdb8875398.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/graphics/player/dead/Player Death 64x64.png"
|
||||
dest_files=["res://.godot/imported/Player Death 64x64.png-a1335d3f0d31c2c547d022fdb8875398.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
assets/graphics/player/hurt/Player Hurt 48x48.png
Normal file
BIN
assets/graphics/player/hurt/Player Hurt 48x48.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.4 KiB |
40
assets/graphics/player/hurt/Player Hurt 48x48.png.import
Normal file
40
assets/graphics/player/hurt/Player Hurt 48x48.png.import
Normal file
@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dcd86jsmvvi4m"
|
||||
path="res://.godot/imported/Player Hurt 48x48.png-a720e51cb19103e76b22ab6c1b81302d.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/graphics/player/hurt/Player Hurt 48x48.png"
|
||||
dest_files=["res://.godot/imported/Player Hurt 48x48.png-a720e51cb19103e76b22ab6c1b81302d.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
Loading…
Reference in New Issue
Block a user