Obsah:
- Zásoby
- Krok 1: Kontrola videa Y Dokument o návrhu hry
- Krok 2: Montaje Del Circuito
- Krok 3: Subir Código Del Funcionamiento Al Arduino
- Krok 4: Creación De Sprites Y Personajes
- Krok 5: Importar Los Sprites a Godot Engine Para La Implementacion Del Vídeo Juego
- Krok 6: Disposición De Los Elementos En Pantalla Y Configuración Del Proyecto
- Krok 7: Vytvoření skriptů de los
- Krok 8: Integración (Control + Videojuego)
Video: Diviértete Con ArduPack (Videojuego2D Godot3 + Arduino ESP32): 8 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:19
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
Dokumentace k návrhu hry
Krok 2: Montaje Del Circuito
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
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
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
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
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
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)
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:
Jak opravit spálené Arduino nebo ESP32: 5 kroků
Jak opravit spálené Arduino nebo ESP32: V tomto videu se naučíte, jak opravit spálené Arduino nebo ESP32! To vám může přinést vynikající finanční příjem s něčím, co máte rádi. Použil jsem dva nové nástroje a byly to pájecí stanice, o kterých jsem si nemyslel, že fungují tak levně
Bezdrátová komunikace LoRa 3 až 8 km s nízkými náklady na zařízení E32 (sx1278/sx1276) pro Arduino, Esp8266 nebo Esp32: 15 kroků
Bezdrátová komunikace LoRa 3 až 8 km s nízkými náklady na zařízení E32 (sx1278/sx1276) pro Arduino, Esp8266 nebo Esp32: Vytvářím knihovnu pro správu EBYTE E32 na základě řady zařízení LoRa Semtech, velmi výkonného, jednoduchého a levného zařízení. Verze 3 km zde, verze 8 km zde Mohou pracovat na vzdálenost 3000 m až 8 000 m a mají mnoho funkcí
Jak posílat e -maily s přílohami pomocí Arduino, Esp32 a Esp8266: 6 kroků
Jak odesílat e -maily s přílohami pomocí Arduino, Esp32 a Esp8266: Zde bych chtěl vysvětlit verzi 2 mé knihovny EMailSender, velký vývoj ve vztahu k verzi 1, s podporou Arduino s ethernetovým štítem w5100, w5200 a w5500 a ether28J60 klonování zařízení a podpora pro esp32 a esp8266. Nyní můžete inzerovat
Instalace desky ESP32 do Arduino IDE (Windows, Mac OS X, Linux): 7 kroků
Instalace desky ESP32 do Arduino IDE (Windows, Mac OS X, Linux): Pro Arduino IDE existuje doplněk, který vám umožňuje programovat ESP32 pomocí Arduino IDE a jeho programovacího jazyka. V tomto tutoriálu vám ukážeme, jak nainstalovat desku ESP32 do Arduino IDE, ať už používáte Windows, Mac OS X nebo Li
Začínáme s ESP32 - Instalace desek ESP32 do Arduino IDE - Kód mrknutí ESP32: 3 kroky
Začínáme s ESP32 | Instalace desek ESP32 do Arduino IDE | ESP32 Blink Code: V tomto instruktážním programu uvidíme, jak začít pracovat s esp32 a jak instalovat desky esp32 do Arduino IDE a naprogramujeme esp 32 tak, aby spustil blink kód pomocí arduino ide