Obsah:
- Zásoby
- Krok 1: Kontrola videa Dokument o návrhu hry Y
- Krok 2: Montaje Del Circuito
- Krok 3: Subir Código Del Funcionamiento Al Arduino
- Krok 4: Creación De Sprites Y Personajes
- Krok 5: Import Los 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: Vytvorenie skriptov de Los
- Krok 8: Integrácia (Control + Videojuego)
Video: Diviértete Con ArduPack (Videojuego2D Godot3 + Arduino ESP32): 8 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:55
Väčšina protokolovaných videonahrávok môže obsahovať rôzne ovládacie prvky, ktoré nie sú ovládateľné, ale žiadne konvenčné možnosti prehrávania rôznych softvérových softvérových balíkov, ako sú napríklad softvérové balíky, ktoré sú k dispozícii pre ArduPack.
-Juan Camilo Guzmán-Sebastián Carmona-Juan Diego Bustamante-Jhonatan Rodriguez
Zásoby
WEMOS LOLIN 32.
Doskové senzory HC SR 04.
Pantalla LED 1920x1080, 24, 24MK430H.
Altavoces 2,2 W, 3,5 mm, logitech S120.
Arduino IDE (ovládanie viacerých funkcií)
Piskel (Para los sprites y personajes). Godot (Para la programación del Vídeo Juego).
Librerias: pySerial (programátor firmvéru pre softvér ESP32) NewPing_v1.9.1 (pre všetky typy snímačov s lososom) blekeyboard (komunikácia prebehla s videomuego simulando un teclado)
Krok 1: Kontrola videa Dokument o návrhu hry Y
Dokumenty, ktoré sú k dispozícii v dokumente Game Design
Krok 2: Montaje Del Circuito
Pozrite sa na niekoľko senzorov, ktoré nájdete v nasledujúcom obrázku. Vyberte si z nasledujúcich: 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árne debetky a knižnice musia mať všetky svoje ID a skice, vrátane knižnice, pridať. Zip knižnicu.. buscamos y agregamos la librerías proporcionadas.
NewPing
BleKeyboard
Para poder usar correctamente la placa con arduino IDE usaremos pyserial.
-Primero, download Python, process and descargar el archivo PIP, lo ubicaremos en una consola Python y escribiremos el comando get-pip.py, posteriormente en una consola nueva de Python escribiremos el comando: Python -m pip install pyserial, you todo ha Vykonajte správnu opravu a použite základňu s Arduino IDE
Nasledujúce ovládacie prvky môžu obsahovať rôzne ovládacie prvky, napríklad ovládače archívu.ino.
Senzory prechádzajú väčšinou bez ohľadu na to, či sú senzory závislé na vašej váhe, alebo ako závisia od typu BleKeyboard, paralelné a pulzujúce pulzujúce arriba, abajo, izquierda y derecha
Krok 4: Creación De Sprites Y Personajes
Užívateľský manuál ako stvorený na spritek obsahuje niekoľko obľúbených postáv, predmetov, nepriateľov atď.
Môžete si vytvoriť vlastnú recenziu (https://www.piskelapp.com), aby ste mohli vytvárať ovládateľné osoby, ovládať všetky svoje editora, a dbať na to, aby editor ochranných známok pracoval s týmto obrázkom (povolená transparentná verzia).
Krok 5: Import Los Los Sprites a Godot Engine Para La Implementacion Del Vídeo Juego
Väčšina dovozov pochádza z predných parkovacích miest, kde sú tvorené hlavné videá. Niektoré z najdôležitejších, najpopulárnejších a najpopulárnejších textúr, textov a fotografií vašich obľúbených, enemigo, fondo atď.
Krok 6: Disposición De Los Elementos En Pantalla Y Configuración Del Proyecto
Všetky možnosti sa budú zhodovať s najdôležitejšími prvkami videa, ako sa budú zhodovať s ďalšími podrobnosťami a informáciami (Como el caso del jugador con su sprite y collider más su brazo) damos click en el nodo y damos click en añadir hijo.
Poznámka: Všetky konfiguračné údaje potrebné pre správnu funkciu, overenie a overenie všetkých udalostí (vrátane dôležitých udalostí, dôsledkov a následných), zodpovedajúcich zoskupení Počet strán, ktoré môžete nominovať, sú obmedzené a obmedzená veľkosť obrazovky, konfigurácia a rozlíšenie obrazovky> 1600 x 600 pixelov, ktoré sú k dispozícii, Pozrite sa na obrázky, ktoré sú popísané nižšie, ako správne, tam, kde sú definované ako hlavné, ktoré ovládajú, ako sa vyberáme a vyberáme z rôznych oblastí> mapujeme, vyberáme, definujeme a dopĺňame. por defekto tenemos las flechas (Arriba y abajo para altura y izquierda y derecha para el angulo).
Krok 7: Vytvorenie skriptov de Los
Môžete si vybrať z mnohých skriptov osobnej zábavy, nepriateľských skriptov, skriptov disparos, puntaje, enemigos derrotados, zvuku a detekcie fin fin del juego. Goodot engine vám môže poskytnúť skript skriptov, ktoré môžu používať C# alebo používať. GD.
Pokračovanie v práci na nasledujúcich scenároch správy:
"nombreScript.cs (NombreNodo) -> popis"
Dohodnite sa na skripte a kliknite na odkaz, kliknite na tlačidlo kliknite na ďalšie tlačidlo a kliknite na tlačidlo Pridať, kliknite na položku Skript.
Skripty pre ovládanie všetkých úrovní: infinite_bg.cs (Úroveň 1) -> Infinitné pohyblivé pozadia, vypočítané puntaje a determinačné stupne.
používanie systému Godot; používanie systému;
verejná trieda infinite_bg: Uzol
{public double puntaje = 0; public bool vivo = pravda; súkromné Sprite pozadia = nový Sprite [5]; súkromný plavák bg_width = 1598f; private float move_speed = 400f; súkromný plavák min_X = -1300f; // Volá sa, keď uzol vstupuje do stromu scény prvýkrát. public override void _Ready () {for (int i = 1; i <6; i ++) {backgrounds [i-1] = GetNode ("Background"+i); }}
// Volá sa každý rámec. „delta“je čas, ktorý uplynul od predchádzajúceho rámca.
public override void _Process (float delta) {for (int i = 0; i <backgrounds. Length; i ++) {Vector2 temp = backgrounds . GetPosition (); temp.x -= rýchlosť pohybu * delta; if (temp.x <= min_X) {temp.x += bg_width * backgrounds. Length; } pozadia . 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širuje Area2D
func _on_Area2D_input_event (viewport, event, shape_idx):
if event je InputEventMouseButton: if event.is_pressed (): get_tree (). reload_current_scene ()
Jugador: jugador.gd (Jugador) -> Controla el movimiento del jugador.
rozširuje 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)
Porovnanie: Disparo_ Brazo.gd (Brazo) -> ovládanie el angulo del arma y instancia un nuevo disparo cada cierto tiempo
rozširuje Area2D
var bala = preload ("res: //Escena/bala.tscn");
var disparo = pravda; export var velocidad = 1000; exportný pomer exportu = 0,4;
# Volal sa každý rámček. „delta“je čas, ktorý uplynul od predchádzajúceho rámca.
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 = stupne rotácie; bala_creada.apply_impulse (Vector2 (), Vector2 (velocidad, 0).rotated (rotácia)) get_tree (). get_root (). add_child (bala_creada); disparo = nepravda; yield (get_tree (). create_timer (ratio), "timeout") disparo = true;
Colisiones: enemigo.gd (Enemigo) y bala.gd (Bala) -> verificar y aktuar ante una colisión (Enemigo y bala) (Enemigo y jugador).
rozširuje KinematicBody2D
#Determina la velocidad del enemigo
var velocidad = -500; func _process (delta): move_and_slide (Vector2 (velocidad, 0)) pass
func _on_Area2D_body_entered (body):
ak body.is_in_group ("Jugador"): body.queue_free (); get_node ("/root/Úroveň1"). vivo = nepravda; ak body.is_in_group ("obrazovka"): queue_free ();
rozširuje RigidBody2D
#
func _on_Bala_body_entered (telo):
ak body.is_in_group ("Enemigo"): body.queue_free (); queue_free (); get_node ("/root/Level1"). puntaje += 5; ak body.is_in_group ("obrazovka"): queue_free ();
Enemigos: EnemySpawner.gd (EnemySpawner)-> zariadenie typu aleatoria de enemigos.
predlžuje Node
var nepriateľ = 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 = nepriateľ.inštancia (); var pos = Vector2 (); poz.x = 1632; pos.y = rozsah_ rande (32, 592); enemigo.set_position (pos); get_node ("kontajner"). add_child (enemigo)
Los nodos Enemigo y bala se encuentran en dos escenas independentientes, que toman su mismo nombre, bala.tscn y enemigo.tscn.
Z tohto dôvodu video skončí:
github.com/jcamiloguzman/ArduPack
Krok 8: Integrácia (Control + Videojuego)
Väčšina správnych a základných funkcií ovládania videa, ako aj ovládanie jadra, integrácia všetkých funkcií, ktoré sú k dispozícii, a ďalšie formy vykonávania, implementácie a ovládania, jednoduché a jednoduché ovládanie teclado de Najvyššia výpočtová frekvencia, počet zapojených konektorov a počet snímačov montovaných na jednom mieste, rôzne funkcie ovládania, bezdrôtové pripojenie a pripojenie k rozhraniu Bluetooth, pripojenie k širokému spektru zariadení a pripojenie k internetu al juego, your todo ha funcionado correctamente with the three disfrutar de ArduPack con su control no concional.
Široká škála dostupných Bluetooth a prenosných počítačov s podporou klávesnice ESP32 BLE ponúka široký výber kompatibilných a prepojených automobilových reproduktorov.
Jugar!
Odporúča:
Ako opraviť spálené Arduino alebo ESP32: 5 krokov
Ako opraviť spálené Arduino alebo ESP32: V tomto videu sa naučíte, ako opraviť spálené Arduino alebo ESP32! To vám môže priniesť vynikajúci finančný príjem s niečím, čo radi robíte. Použil som dva nové nástroje a boli to spájkovacie stanice, o ktorých som si nemyslel, že fungujú tak lacno
Bezdrôtová komunikácia LoRa 3 km až 8 km s nízkymi nákladmi na zariadenie E32 (sx1278/sx1276) pre Arduino, Esp8266 alebo Esp32: 15 krokov
Bezdrôtová komunikácia LoRa 3 km až 8 km s nízkymi nákladmi na zariadenie E32 (sx1278/sx1276) pre Arduino, Esp8266 alebo Esp32: Vytváram knižnicu na správu EBYTE E32 na základe série zariadení LoRa Semtech, veľmi výkonného, jednoduchého a lacného zariadenia. Verzia 3 km tu, verzia 8 km tu Môžu pracovať na vzdialenosť 3 000 až 8 000 m a majú mnoho funkcií
Ako odosielať e -maily s prílohami pomocou Arduino, Esp32 a Esp8266: 6 krokov
Ako posielať e -maily s prílohami pomocou Arduino, Esp32 a Esp8266: Tu by som chcel vysvetliť verziu 2 mojej knižnice EMailSender, veľký vývoj vzhľadom na verziu 1, s podporou Arduino s ethernetovým štítom w5100, w5200 a w5500 a ether28 štítom klonovanie zariadení a podpora pre esp32 a esp8266. Teraz môžete inzerovať
Inštalácia dosky ESP32 do Arduino IDE (Windows, Mac OS X, Linux): 7 krokov
Inštalácia dosky ESP32 do Arduino IDE (Windows, Mac OS X, Linux): Existuje doplnok pre Arduino IDE, ktorý vám umožňuje programovať ESP32 pomocou Arduino IDE a jeho programovacieho jazyka. V tomto návode vám ukážeme, ako nainštalovať dosku ESP32 do Arduino IDE, či už používate Windows, Mac OS X alebo Li
Začíname s ESP32 - Inštalácia dosiek ESP32 do Arduino IDE - Kód blinkru ESP32: 3 kroky
Začíname s ESP32 | Inštalácia dosiek ESP32 do Arduino IDE | Kód blinkru ESP32: V tomto návode uvidíme, ako začať pracovať s esp32 a ako nainštalovať dosky esp32 do Arduino IDE a naprogramujeme esp 32 tak, aby spustil kód blinkingu pomocou arduino ide