Obsah:

Diviértete Con ArduPack (Videojuego2D Godot3 + Arduino ESP32): 8 kroků
Diviértete Con ArduPack (Videojuego2D Godot3 + Arduino ESP32): 8 kroků

Video: Diviértete Con ArduPack (Videojuego2D Godot3 + Arduino ESP32): 8 kroků

Video: Diviértete Con ArduPack (Videojuego2D Godot3 + Arduino ESP32): 8 kroků
Video: Топ 10 лучших игр SEGA [Mega Drive, Genesis] 2024, Červenec
Anonim
Diviértete Con ArduPack (Videojuego2D Godot3 + Arduino ESP32)
Diviértete Con ArduPack (Videojuego2D Godot3 + Arduino ESP32)

Mnoho typů videa, které můžete používat, můžete používat různé způsoby ovládání, žádné ovládání, žádné konvenční funkce, které vám pomohou s výběrem programových balíčků, ale s výběrem části vaší aplikace, která vám umožní získat základní software.

-Juan Camilo Guzmán-Sebastián Carmona-Juan Diego Bustamante-Jhonatan Rodriguez

Zásoby

WEMOS LOLIN 32.

Dos senzory HC SR 04.

Pantalla LED 1920x1080, 24, 24MK430H.

Altavoces 2,2 W, 3, 5 mm, logitech S120.

Arduino IDE (Para el funcionamiento del control)

Piskel (Para los sprites y personajes). Godot (Para la programación del Vídeo Juego).

Librerias: pySerial (programový firmware firmware ESP32) NewPing_v1.9.1 (para data los data de los sensores) blekeyboard (Para comunicar el arduino con el videojuego simulando un teclado)

Krok 1: Kontrola videa Y Dokument o návrhu hry

Image
Image

Dokumentace k návrhu hry

Krok 2: Montaje Del Circuito

Níže naleznete Codigo Del Funcionamiento Al Arduino
Níže naleznete Codigo Del Funcionamiento Al Arduino

Senzory připojte k sobě a získejte vše, co potřebujete pro Lolin32: Využití 5V a GND para -lamentace potravin, snímač cada představuje polohu pinů, zrušení odezvy a spuštění, výběr konkrétního produktu z naší nabídky usamos en el código, de esta manera se lograra la detección de los movimientos de la mano para mover al personaje y el ángulo del disparo.

Krok 3: Subir Código Del Funcionamiento Al Arduino

Níže naleznete Codigo Del Funcionamiento Al Arduino
Níže naleznete Codigo Del Funcionamiento Al Arduino

Primární debaty a další knihovny potřebují, jak stáhnout deberemos a další Arduino IDE y en Sketch, include library, add. Zip Library.. buscamos y agregamos la librerías proporcionadas.

NewPing

BleKeyboard

Para poder usar correctamente la placa con arduino IDE usaremos pyserial.

-Primero, stahování Pythonu, procedury a stahování z archivu PIP, výběr všech typů Pythonů a jejich získání get-pip.py, následná instalace bez ohledu na to, co Python escribiremos el comando: Python -m pip install pyserial, si todo ha opravte své základní podklady pro Arduino IDE

Získejte základní ovládání, ovládání a ovládání archivu.ino.

Nejčastěji se vyskytují senzory bezdotykových snímačů, snímačů závislosti na váze, závislých senzorů, běžných knihoven BleKeyboard pro simulační las pulsasiones de arriba, abajo, izquierda y derecha

Krok 4: Creación De Sprites Y Personajes

Vytvoření společnosti Sprites a personalizace
Vytvoření společnosti Sprites a personalizace
Vytvoření společnosti Sprites a personalizace
Vytvoření společnosti Sprites a personalizace
Vytvoření společnosti Sprites a personalizace
Vytvoření společnosti Sprites a personalizace

Používání všech typů spritů může mít za následek různé personální, objetové, enemigos atd.

Záleží na tom, jak si vyberete (https://www.piskelapp.com), abyste získali kontrolu nad svými vlastními osobnostmi, mohli jste ji kontrolovat, respektive ji upravovat, abyste si ji mohli prohlížet (Para permitir transparentencia).

Krok 5: Importar Los Sprites a Godot Engine Para La Implementacion Del Vídeo Juego

Import Los Los Sprites a Godot Engine Para La Implementacion Del Vídeo Juego
Import Los Los Sprites a Godot Engine Para La Implementacion Del Vídeo Juego
Import Los Los Sprites a Godot Engine Para La Implementacion Del Vídeo Juego
Import Los Los Sprites a Godot Engine Para La Implementacion Del Vídeo Juego

Důležitá data pro přední sprity, která mohou být vytvořena pro vytváření videa. Většina importů a výstupů může mít za následek různé druhy barevných textur, obrázků, obrázků atd., Enemigo, fondo atd.

Krok 6: Disposición De Los Elementos En Pantalla Y Configuración Del Proyecto

Disposición De Los Elementos En Pantalla Y Configuración Del Proyecto
Disposición De Los Elementos En Pantalla Y Configuración Del Proyecto

Všechny způsoby, jak souhlasit s výběrem základních prvků, můžete souhlasit s jejich používáním a výběrem (vše, co musíte udělat, abyste mohli sbírat a sbírat máslo, brazo), klikněte na tlačítko a klikněte na tlačítko klikněte na další obrázek..

Poznámka: Všechny konfigurační soubory, které potřebujete, abyste mohli správně provádět různé funkce, ověřovat, co dělat, losovat, přijímat, opravovat a doplňovat (En este caso los eventos que implican a la bala, el enemigo y al jugador), Asignarle los grupos koresponidentes a los: Jmenovité a rozšířené skupiny s omezeným výběrem obrazovky LimitBalas tiene el grupo llamado Screen, konfigurovatelné pro všechny oblasti> větrání a rozlišení 1600x600, vaše rozlišení pro všechny typy nomismů Prohlédněte si všechny důležité body, které můžete definovat, definovat a definovat, zda chcete ovládat, zda se vám líbí a vybíráte více, než kolik chcete> osobní údaje> definujte, definujte, využívejte a využívejte por defekto tenemos las flechas (Arriba y abajo para altura y izquierda y derecha para el angulo).

Krok 7: Vytvoření skriptů de los

Skripty vytváření de los
Skripty vytváření de los
Skripty vytváření de los
Skripty vytváření de los
Skripty vytváření de los
Skripty vytváření de los

Nejčastěji skriptuje všechny osobní skripty, enemigos, skripty disparos, puntaje, enemigos derrotados, audio y la detección del fin del juego. Goodot engine vám může poslat skript skriptů pro použití C# nebo použít pro. GD.

Pokračování ve více instancích, než je možné, skriptů následujících:

"nombreScript.cs (NombreNodo) -> popis"

Souhlasíte s tím, že skript odemknete, kliknete na tlačítko Derecho sobre él y Damos click en añadir nodo, escogemos nombre y lenguaje para el script.

Skripty pro ovládání el. Úrovně: infinite_bg.cs (Úroveň 1) -> Infinitní pohyblivé pozadí, kalkulační hodnoty a určující hodnoty.

pomocí Godota; pomocí systému;

public class infinite_bg: Node

{public double puntaje = 0; public bool vivo = true; soukromé Sprite pozadí = nový Sprite [5]; soukromý plovák bg_width = 1598f; private float move_speed = 400f; soukromý plovák min_X = -1300f; // Volá se, když uzel vstoupí do stromu scény poprvé. public override void _Ready () {for (int i = 1; i <6; i ++) {backgrounds [i-1] = GetNode ("Background"+i); }}

// Volá se každý snímek. 'delta' je uplynulý čas od předchozího snímku.

public override void _Process (float delta) {for (int i = 0; i <backgrounds. Length; i ++) {Vector2 temp = backgrounds . GetPosition (); temp.x -= rychlost_pohybu * delta; if (temp.x <= min_X) {temp.x += bg_width * backgrounds. Length; } pozadí . SetPosition (temp); } if (vivo) {puntaje += 0,01; Area2D BotonReinicio = GetNode ("BotonReinicio"); Vector2 escala = nový Vector2 (0, 0); BotonReinicio. Scale = escala; Label Puntaje = GetNode ("CanvasLayer/puntaje"); Puntaje. Text = Math. Round (puntaje, 0). ToString (); } else {Area2D BotonReinicio = GetNode ("BotonReinicio"); Vector2 escala = nový Vector2 (1, 1); BotonReinicio. Scale = escala; }

}

}

Reinicio: botonReinicio.gd (botonReinicio) -> Controla el funcionamiento del botón para volver a empezar.

rozšiřuje Area2D

func _on_Area2D_input_event (výřez, událost, shape_idx):

if event is InputEventMouseButton: if event.is_pressed (): get_tree (). reload_current_scene ()

Jugador: jugador.gd (Jugador) -> Controla el movimiento del jugador.

rozšiřuje KinematicBody2D

var motion = Vector2 ()

func _ready ():

print (self.get_path ()); func _physics_process (delta): if (position.y = 570): motion.y = -150 else: if (Input.is_action_pressed ("ui_up")): motion.y += -20 else: if (Input.is_action_pressed ("ui_down")): motion.y+= 20 motion = move_and_slide (pohyb)

Disparo: Disparo_ Brazo.gd (Brazo) -> controla el angulo del arma y instancia un nuevo disparo cada cierto tiempo

rozšiřuje Area2D

var bala = preload ("res: //Escena/bala.tscn");

var disparo = true; export var velocidad = 1000; exportní poměr varu = 0,4;

# Nazývá se každý snímek. 'delta' je uplynulý čas od předchozího snímku.

func _process (delta): if rotation_degrees> -40: if Input.is_action_pressed ("ui_left"): rotation_degrees += -5 if rotation_degrees <45: if Input.is_action_pressed ("ui_right"): rotation_degrees += 5 if (disparo): var bala_creada = bala.instance (); bala_creada.position = get_global_position (); bala_creada.rotation_degrees = rotace_degrees; bala_creada.apply_impulse (Vector2 (), Vector2 (velocidad, 0).rotated (rotace)) get_tree (). get_root (). add_child (bala_creada); disparo = false; yield (get_tree (). create_timer (ratio), "timeout") disparo = true;

Colisiones: enemigo.gd (Enemigo) y bala.gd (Bala) -> verificar yaktuator ante una colisión (Enemigo y bala) (Enemigo y jugador).

rozšiřuje KinematicBody2D

#Determina la velocidad del enemigo

var velocidad = -500; func _process (delta): move_and_slide (Vector2 (velocidad, 0)) pass

func _on_Area2D_body_entered (tělo):

if body.is_in_group ("Jugador"): body.queue_free (); get_node ("/root/Level1"). vivo = false; if body.is_in_group ("Screen"): queue_free ();

rozšiřuje RigidBody2D

#

func _on_Bala_body_entered (tělo):

if body.is_in_group ("Enemigo"): body.queue_free (); queue_free (); get_node ("/root/Level1"). puntaje += 5; if body.is_in_group ("Screen"): queue_free ();

Enemigos: EnemySpawner.gd (EnemySpawner)-> aparición aleatoria de enemigos.

rozšiřuje Node

var nepřítel = preload ("res: //Escena/Enemigo.tscn");

var aparicion = 0,8; export var aparecer = true;

func _process (delta):

if (aparecer): spawn () aparecer = false; yield (get_tree (). create_timer (aparicion), "timeout") aparecer = true; func spawn (): var enemigo = nepřátelský.instance (); var pos = Vector2 (); poz.x = 1632; pos.y = rand_range (32, 592); enemigo.set_position (pos); get_node ("kontejner"). add_child (enemigo)

Los nodos Enemigo y bala se encuentran en dos escenas independentientes, que toman su mismo nombre, bala.tscn y enemigo.tscn.

Přejít na konec videa:

github.com/jcamiloguzman/ArduPack

Krok 8: Integración (Control + Videojuego)

Integración (Control + Videojuego)
Integración (Control + Videojuego)
Integración (Control + Videojuego)
Integración (Control + Videojuego)
Integración (Control + Videojuego)
Integración (Control + Videojuego)

Většina správných funkcí a funkcí ovládání videa, ovládání hor, realizace integrací de los dos, este es el paso más facil gracias a la forma en la que está implementado el control, ya que va a simular el teclado de Nejnovější výpočetní technologie, připojení k jednomu konektoru el. obvodu, připojení snímačů montáže, ovládání a ovládání, ovládání sběrnice, připojení Bluetooth, připojení k internetu, připojení k internetu všechny možnosti, jak provést opravu, můžete podřídit ArduPack bez ovládání.

K dispozici je celá řada Bluetooth a bezdrátových přenosných počítačů s klávesnicí ESP32 BLE, která umožňuje výběr různých emitorů a připojení.

Jugar!

Doporučuje: