Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
extends CharacterBody2D

func _physics_process(delta):
var direction = Input.get_vector("esquerda","direita","cima","baixo")
velocity = direction * 300
move_and_slide()

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
extends CollisionShape2D
30 changes: 30 additions & 0 deletions microjogos/2024S1/projeto-do-Glaymar_A/cenas/Player.tscn
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
[gd_scene load_steps=6 format=3 uid="uid://dt7ewgrxnk86g"]

[ext_resource type="Script" path="res://microjogos/2024S1/projeto-do-Glaymar_A/cenas/CharacterBody2D.gd" id="1_6jrih"]
[ext_resource type="Texture2D" uid="uid://3dyh7wv3c65q" path="res://microjogos/2024S1/projeto-do-Glaymar_A/recursos/persona.png" id="2_6e7nt"]
[ext_resource type="Texture2D" uid="uid://dxy3gvgm3dijq" path="res://microjogos/2024S1/projeto-do-Glaymar_A/recursos/sombra.png" id="2_a54cd"]
[ext_resource type="PackedScene" uid="uid://d1gunhxurm3j6" path="res://microjogos/2024S1/projeto-do-Glaymar_A/cenas/arma.tscn" id="3_bxmo8"]

[sub_resource type="CircleShape2D" id="CircleShape2D_eoaqu"]
radius = 31.257

[node name="Player" type="CharacterBody2D"]
script = ExtResource("1_6jrih")

[node name="Sombra" type="Sprite2D" parent="."]
position = Vector2(-28, 67)
scale = Vector2(0.573438, 0.65625)
texture = ExtResource("2_a54cd")

[node name="Persona" type="Sprite2D" parent="."]
position = Vector2(-18, 72)
scale = Vector2(0.267188, 0.283594)
texture = ExtResource("2_6e7nt")

[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(-15, 91)
shape = SubResource("CircleShape2D_eoaqu")

[node name="Area2D" parent="." instance=ExtResource("3_bxmo8")]
position = Vector2(-14, 93)
rotation = 0.0120305
18 changes: 18 additions & 0 deletions microjogos/2024S1/projeto-do-Glaymar_A/cenas/arma.gd
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
extends Area2D

func _physics_process(delta):
var inimigo_na_area = get_overlapping_bodies()
if inimigo_na_area.size() > 0:
var mirar_inimigo = inimigo_na_area.front()
look_at(mirar_inimigo.global_position)

func atirar():
const MUNICAO = preload("res://microjogos/2024S1/projeto-do-Glaymar_A/cenas/municao.tscn")
var nova_tiro = MUNICAO.instantiate()
nova_tiro.global_position = %mira.global_position
nova_tiro.global_rotation = %mira.global_rotation
%mira.add_child(nova_tiro)


func _on_timer_timeout():
atirar()
41 changes: 41 additions & 0 deletions microjogos/2024S1/projeto-do-Glaymar_A/cenas/arma.tscn
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
[gd_scene load_steps=4 format=3 uid="uid://d1gunhxurm3j6"]

[ext_resource type="Script" path="res://microjogos/2024S1/projeto-do-Glaymar_A/cenas/arma.gd" id="1_f4wxo"]
[ext_resource type="Texture2D" uid="uid://02uvoafk3bjy" path="res://microjogos/2024S1/projeto-do-Glaymar_A/recursos/Gun.png" id="2_lgl81"]

[sub_resource type="CircleShape2D" id="CircleShape2D_6cuxg"]
radius = 445.702

[node name="Arma" type="Area2D"]
collision_layer = 0
collision_mask = 2
script = ExtResource("1_f4wxo")

[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(2, -2.99999)
rotation = -0.124864
shape = SubResource("CircleShape2D_6cuxg")

[node name="Marker2D" type="Marker2D" parent="."]
rotation = 0.0623218
scale = Vector2(0.743903, 1.33333)

[node name="Gun" type="Sprite2D" parent="Marker2D"]
position = Vector2(61.2974, -5.89143)
rotation = -0.0348021
scale = Vector2(0.316624, 0.191008)
skew = -0.0765823
texture = ExtResource("2_lgl81")

[node name="mira" type="Marker2D" parent="Marker2D/Gun"]
unique_name_in_owner = true
position = Vector2(199.397, 16.5803)
rotation = -0.0278242
scale = Vector2(0.0115685, 0.00412756)
skew = 0.0641811

[node name="Timer" type="Timer" parent="."]
wait_time = 0.3
autostart = true

[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
1 change: 1 addition & 0 deletions microjogos/2024S1/projeto-do-Glaymar_A/cenas/cenas.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Coloque suas cenas aqui! A cena que vai rodar no jogo deve necessariamente ser a Main.tscn
26 changes: 26 additions & 0 deletions microjogos/2024S1/projeto-do-Glaymar_A/cenas/coluna.tscn
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
[gd_scene load_steps=4 format=3 uid="uid://d2oahab3ot5ql"]

[ext_resource type="Texture2D" uid="uid://dxy3gvgm3dijq" path="res://microjogos/2024S1/projeto-do-Glaymar_A/recursos/sombra.png" id="1_2gj1p"]
[ext_resource type="Texture2D" uid="uid://dq8r1g3g2bu1" path="res://microjogos/2024S1/projeto-do-Glaymar_A/recursos/Tree.png" id="2_o3gwj"]

[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_anw0x"]
radius = 12.0
height = 46.0

[node name="coluna" type="StaticBody2D"]
position = Vector2(28, 28)

[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(-1, 50)
rotation = 1.5708
shape = SubResource("CapsuleShape2D_anw0x")

[node name="Sombra" type="Sprite2D" parent="."]
position = Vector2(-4, 34)
scale = Vector2(0.40625, 0.356505)
texture = ExtResource("1_2gj1p")

[node name="Tree" type="Sprite2D" parent="."]
position = Vector2(0.999992, -1)
scale = Vector2(0.321875, 0.34375)
texture = ExtResource("2_o3gwj")
15 changes: 15 additions & 0 deletions microjogos/2024S1/projeto-do-Glaymar_A/cenas/inimigo.gd
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
extends CharacterBody2D

@onready var player = get_node("/root/Main/Player")


func _physics_process(delta):
var direction = global_position.direction_to(player.global_position)
velocity = direction * 150.0
move_and_slide()




func _on_collision_shape_2d_child_order_changed():
emit_signal("lose")
23 changes: 23 additions & 0 deletions microjogos/2024S1/projeto-do-Glaymar_A/cenas/inimigo.tscn
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
[gd_scene load_steps=4 format=3 uid="uid://deg0v3upu07xf"]

[ext_resource type="Script" path="res://microjogos/2024S1/projeto-do-Glaymar_A/cenas/inimigo.gd" id="1_ratjc"]
[ext_resource type="Texture2D" uid="uid://b24foufi834mf" path="res://microjogos/2024S1/projeto-do-Glaymar_A/recursos/New_Piskel_2.png" id="2_cd747"]

[sub_resource type="CircleShape2D" id="CircleShape2D_hhfd2"]
radius = 25.02

[node name="Inimigo" type="CharacterBody2D"]
position = Vector2(31, 72)
collision_layer = 2
collision_mask = 3
script = ExtResource("1_ratjc")

[node name="NewPiskel2" type="Sprite2D" parent="."]
position = Vector2(15, -52)
scale = Vector2(0.384375, 0.446875)
texture = ExtResource("2_cd747")

[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("CircleShape2D_hhfd2")

[connection signal="child_order_changed" from="CollisionShape2D" to="." method="_on_collision_shape_2d_child_order_changed"]
96 changes: 96 additions & 0 deletions microjogos/2024S1/projeto-do-Glaymar_A/cenas/main.tscn
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
[gd_scene load_steps=4 format=3 uid="uid://bi0ahd7cv37i6"]

[ext_resource type="PackedScene" uid="uid://d2oahab3ot5ql" path="res://microjogos/2024S1/projeto-do-Glaymar_A/cenas/coluna.tscn" id="2_osv8d"]
[ext_resource type="PackedScene" uid="uid://dt7ewgrxnk86g" path="res://microjogos/2024S1/projeto-do-Glaymar_A/cenas/Player.tscn" id="2_w0t5o"]
[ext_resource type="PackedScene" uid="uid://deg0v3upu07xf" path="res://microjogos/2024S1/projeto-do-Glaymar_A/cenas/inimigo.tscn" id="3_ipfv1"]

[node name="Main" type="Node2D"]
position = Vector2(516, 330)

[node name="CanvasLayer" type="CanvasLayer" parent="."]
layer = -30

[node name="ColorRect" type="ColorRect" parent="CanvasLayer"]
anchors_preset = -1
anchor_right = 0.356771
anchor_bottom = 0.172222
offset_left = 3.0
offset_right = 1241.0
offset_bottom = 897.0
color = Color(0.444343, 0.360522, 0.622573, 1)
metadata/_edit_use_anchors_ = true

[node name="Player" parent="." instance=ExtResource("2_w0t5o")]
position = Vector2(150, 499)

[node name="Inimigo" parent="." instance=ExtResource("3_ipfv1")]
position = Vector2(-399, 225)

[node name="Inimigo4" parent="." instance=ExtResource("3_ipfv1")]
position = Vector2(-439, -232)

[node name="Inimigo2" parent="." instance=ExtResource("3_ipfv1")]
position = Vector2(623, 226)

[node name="Inimigo3" parent="." instance=ExtResource("3_ipfv1")]
position = Vector2(406, -58)

[node name="coluna" parent="." instance=ExtResource("2_osv8d")]
position = Vector2(-3, 2)

[node name="coluna2" parent="." instance=ExtResource("2_osv8d")]
position = Vector2(-439, 1)

[node name="coluna3" parent="." instance=ExtResource("2_osv8d")]
position = Vector2(-370, -122)

[node name="coluna4" parent="." instance=ExtResource("2_osv8d")]
position = Vector2(-275, 90)

[node name="coluna5" parent="." instance=ExtResource("2_osv8d")]
position = Vector2(-124, -175)

[node name="coluna6" parent="." instance=ExtResource("2_osv8d")]
position = Vector2(469, -189)

[node name="coluna7" parent="." instance=ExtResource("2_osv8d")]
position = Vector2(203, -111)

[node name="coluna8" parent="." instance=ExtResource("2_osv8d")]
position = Vector2(-69, 363)

[node name="coluna9" parent="." instance=ExtResource("2_osv8d")]
position = Vector2(445, 134)

[node name="coluna13" parent="." instance=ExtResource("2_osv8d")]
position = Vector2(716, 458)

[node name="coluna15" parent="." instance=ExtResource("2_osv8d")]
position = Vector2(897, 330)

[node name="coluna16" parent="." instance=ExtResource("2_osv8d")]
position = Vector2(1173, 337)

[node name="coluna17" parent="." instance=ExtResource("2_osv8d")]
position = Vector2(866, 556)

[node name="coluna18" parent="." instance=ExtResource("2_osv8d")]
position = Vector2(455, 487)

[node name="coluna19" parent="." instance=ExtResource("2_osv8d")]
position = Vector2(1100, -81)

[node name="coluna14" parent="." instance=ExtResource("2_osv8d")]
position = Vector2(496, 54)

[node name="coluna14" parent="coluna14" instance=ExtResource("2_osv8d")]
position = Vector2(716, 458)

[node name="coluna11" parent="." instance=ExtResource("2_osv8d")]
position = Vector2(712, -1)

[node name="coluna12" parent="." instance=ExtResource("2_osv8d")]
position = Vector2(954, 87)

[node name="coluna10" parent="." instance=ExtResource("2_osv8d")]
position = Vector2(126, 163)
16 changes: 16 additions & 0 deletions microjogos/2024S1/projeto-do-Glaymar_A/cenas/municao.gd
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
extends Area2D

var distancia_bala = 0

func _physics_process(delta):
const speed = 1000
const range = 1200
var direction = Vector2.RIGHT.rotated(rotation)
position += direction * speed * delta
distancia_bala += speed * delta
if distancia_bala > range:
queue_free()


func _on_body_entered(body):
queue_free()
25 changes: 25 additions & 0 deletions microjogos/2024S1/projeto-do-Glaymar_A/cenas/municao.tscn
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
[gd_scene load_steps=4 format=3 uid="uid://dorh5dd53pwq7"]

[ext_resource type="Script" path="res://microjogos/2024S1/projeto-do-Glaymar_A/cenas/municao.gd" id="1_2y78e"]
[ext_resource type="Texture2D" uid="uid://db0cbwirc3omh" path="res://microjogos/2024S1/projeto-do-Glaymar_A/recursos/bala.png" id="1_lec53"]

[sub_resource type="RectangleShape2D" id="RectangleShape2D_dqr2f"]
size = Vector2(23, 19)

[node name="Municao" type="Area2D"]
top_level = true
rotation = 0.798031
collision_layer = 0
collision_mask = 3
script = ExtResource("1_2y78e")

[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(21.5, -0.5)
shape = SubResource("RectangleShape2D_dqr2f")

[node name="Bala" type="Sprite2D" parent="."]
position = Vector2(-2.50526, -30.3764)
scale = Vector2(0.584381, 0.756241)
texture = ExtResource("1_lec53")

[connection signal="body_entered" from="." to="." method="_on_body_entered"]
71 changes: 71 additions & 0 deletions microjogos/2024S1/projeto-do-Glaymar_A/cenas/scripts/main.gd
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
extends Node2D

# Declaração dos sinais win e lose
signal win
signal lose

# Estas constantes são usadas para determinar o tamanho da tela do seu jogo. Por padrão, definem uma
# tela 1920x1080, que é padrão para monitores full HD. Caso você queira uma resolução menor para
# atingir uma estética mais pixelada, você pode mudar estes números para qualquer outra resolução
# 16:9
const WIDTH = 1920
const HEIGHT = 1080


# --------------------------------------------------------------------------------------------------
# FUNÇÕES PADRÃO
# --------------------------------------------------------------------------------------------------

# Esta função é chamada assim que esta cena é instanciada, ou seja, assim que seu minigame inicia
func _ready():
# Verifica a linguagem do jogo e mostra texto nesta linguagem. Deve dar uma ideia do que deve
# ser feito para vencer o jogo. A fonte usada não suporta caracteres latinos como ~ ou ´
match Global.language:
Global.LANGUAGE.EN:
NotificationCenter.notify("DO SOMETHING!")
Global.LANGUAGE.PT:
NotificationCenter.notify("FACA ALGO!")


# Esta função é chamada uma vez por frame e é otimizada para cálculos relacionados a física, como
# a movimentação de um personagem. O parâmetro delta indica a quantidade de tempo que passou desde
# a última chamada desta função. O comando pass não faz nada
func _physics_process(delta):
pass


# Esta função é chamada uma vez por frame e é otimizada para cálculos relacionados a renderização,
# como a movimentação de um personagem. O parâmetro delta indica a quantidade de tempo que passou
# desde a última chamada desta função. O comando pass não faz nada
func _process(delta):
pass


# --------------------------------------------------------------------------------------------------
# SUAS FUNÇÕES
# --------------------------------------------------------------------------------------------------


# Um método genérico. Crie quantos métodos você precisar!
func my_method():
pass


# --------------------------------------------------------------------------------------------------
# CONDIÇÕES DE VITÓRIA
# --------------------------------------------------------------------------------------------------
# Quando o jogo começa, ela assume que o jogador não conseguiu vencer o jogo ainda, ou seja, se não
# acontecer nada, o jogador vai perder o jogo. A verificação se o jogador venceu o minigame é feita
# com base na emissão dos sinais "win" e "lose". Se "win" foi o último sinal emitido, o jogador
# vencerá o jogo, e se "lose" foi o último sinal emitido ou nenhum sinal foi emitido, o jogador
# perderá o jogo


# Chame esta função para registrar que o jogador venceu o jogo
func register_win():
emit_signal("win")


# Chame esta função para registrar que o jogador perdeu o jogo
func register_lose():
emit_signal("lose")
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Coloque seus scripts aqui!
Loading