Mundarija:
- Ta'minotlar
- 1 -qadam: Y o'yining dizayn hujjati
- 2 -qadam: Montaje Del Circuito
- 3 -qadam: Subir Codigo Del Funcionamiento Al Arduino
- 4 -qadam: Creación De Sprites Y Personajes
- 5 -qadam: Los -Sprites -ni import qilish Godot dvigateli, Del Vídeo Juego
- 6 -qadam: De Los Elementos va Pantalla Y konfiguratsiyasi Del Proyecto
- 7 -qadam: De Los skriptlarini yaratish
- 8 -qadam: Integrasion (Boshqarish + Videojuego)
![ArduPack -ni ajratish (Videojuego2D Godot3 + Arduino ESP32): 8 qadam ArduPack -ni ajratish (Videojuego2D Godot3 + Arduino ESP32): 8 qadam](https://i.howwhatproduce.com/images/001/image-2101-6-j.webp)
Video: ArduPack -ni ajratish (Videojuego2D Godot3 + Arduino ESP32): 8 qadam
![Video: ArduPack -ni ajratish (Videojuego2D Godot3 + Arduino ESP32): 8 qadam Video: ArduPack -ni ajratish (Videojuego2D Godot3 + Arduino ESP32): 8 qadam](https://i.ytimg.com/vi/pyyeORwyN-c/hqdefault.jpg)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
![ArduPack -ni ajratish (Videojuego2D Godot3 + Arduino ESP32) ArduPack -ni ajratish (Videojuego2D Godot3 + Arduino ESP32)](https://i.howwhatproduce.com/images/001/image-2101-7-j.webp)
Video protseduralari protokoli o'chirilgan bo'lsa, ArduPack dasturiy ta'minotini boshqarishning hech qanday sharti yo'q.
-Xuan Kamilo Guzman-Sebastyan Karmona-Xuan Diego Bustamante-Jonat Rodriges
Ta'minotlar
WEMOS LOLIN 32.
Dos sensori HC SR 04.
Pantalla LED 1920x1080, 24, 24MK430H.
Altavoces 2.2W, 3, 5 mm, logitech S120.
Arduino IDE (boshqaruv funktsiyalari)
Piskel (pari los sprites y personajes). Godot (dasturiy ta'minot del Vídeo Juego dasturi).
Ma'lumotlar bazasi: pySerial (ESP32 dasturiy ta'minoti) NewPing_v1.9.1 (ma'lumotlar sensori uchun) blekeyboard (kompyuter bilan aloqa o'rnatilishi mumkin)
1 -qadam: Y o'yining dizayn hujjati
![Image Image](https://i.howwhatproduce.com/images/001/image-2101-9-j.webp)
![](https://i.ytimg.com/vi/zCydZpUa5YM/hqdefault.jpg)
O'yinni loyihalash uchun hujjatlarni rasmiylashtirish kerak.
2 -qadam: Montaje Del Circuito
![Subir Codigo Del Funcionamiento Al Arduino Subir Codigo Del Funcionamiento Al Arduino](https://i.howwhatproduce.com/images/001/image-2101-10-j.webp)
Aniqki, bu erda siz Wemos Lolin32 -ni ko'rishingiz mumkin: u 5 G va GND -ni ishlating, sensorli qarag'aylar, qarama -qarshiliklar, hech qanday echim yo'q, tetiklantiruvchi emas, balki eng yaxshi tasvirlar. bu sizning shaxsiy ma'lumotlaringiz, shaxsiy ma'lumotlaringiz va shaxsiy ma'lumotlaringiz bilan bog'liq.
3 -qadam: Subir Codigo Del Funcionamiento Al Arduino
![Subir Codigo Del Funcionamiento Al Arduino Subir Codigo Del Funcionamiento Al Arduino](https://i.howwhatproduce.com/images/001/image-2101-11-j.webp)
Sketch, kutubxonani o'z ichiga oladi, kutubxonani o'z ichiga oladi, zip kutubxonasini qo'shadi.
NewPing
BleKeyboard
Foydalanuvchi ma'lumotlarini IDE useremos pyserial yordamida tuzatdi.
-Python -ni birdaniga yuklab oling, keyin PIP -ni arxivga yuklang, bu Python -ning bir xil konsolini, keyin bir -birining orqasida, Python -ni bir -biriga bog'lab qo'ying: Python -m -ni o'rnatish. Arduino IDE -ni ishlatib, uni to'g'rilashingiz mumkin
Boshqaruv funktsiyalari va vazifalari, shuningdek, arxiv tekshiruvi.ino.
Sensorli sensorlar ham, yaqin sensorlar ham, sensorli sensorlar, BleKeyboard simulyatsiyalari, simulyatsiya va simulyatsiyalar ham, xuddi shunday, yaqin masofada ham.
4 -qadam: Creación De Sprites Y Personajes
![Creación De Sprites Y Personajes Creación De Sprites Y Personajes](https://i.howwhatproduce.com/images/001/image-2101-12-j.webp)
![Creación De Sprites Y Personajes Creación De Sprites Y Personajes](https://i.howwhatproduce.com/images/001/image-2101-13-j.webp)
![Creación De Sprites Y Personajes Creación De Sprites Y Personajes](https://i.howwhatproduce.com/images/001/image-2101-14-j.webp)
Shaxsiy, objet, dushman va hk.
Bu eng mashhur dasturlardan biri (https://www.piskelapp.com), siz o'zingizning shaxsiy ma'lumotlaringizni boshqarishingiz mumkin, bu muharrirlar tomonidan muhrlangan muharrirlar -p.webp
5 -qadam: Los -Sprites -ni import qilish Godot dvigateli, Del Vídeo Juego
![Los Sprites Godot dvigatelini ishga tushiradi, bu Del Vídeo Juego Los Sprites Godot dvigatelini ishga tushiradi, bu Del Vídeo Juego](https://i.howwhatproduce.com/images/001/image-2101-15-j.webp)
![Los Sprites Godot dvigatelini ishga tushiradi, bu Del Vídeo Juego Los Sprites Godot dvigatelini ishga tushiradi, bu Del Vídeo Juego](https://i.howwhatproduce.com/images/001/image-2101-16-j.webp)
Videotasvirlar yordamida siz o'zingiz uchun eng yaxshi dasturni yaratishingiz mumkin. Ma'lumotlar los sprites, jodugar, nodo de sprite y en sus propiedades elegimos como textura-p.webp
6 -qadam: De Los Elementos va Pantalla Y konfiguratsiyasi Del Proyecto
![Los -Anjeles -dagi elementlarning joylashuvi va sozlanishi Del Proyecto Los -Anjeles -dagi elementlarning joylashuvi va sozlanishi Del Proyecto](https://i.howwhatproduce.com/images/001/image-2101-17-j.webp)
Alohida ma'lumotlarga ko'ra, bu erda hech qanday muammo yo'q, lekin bu bir vaqtning o'zida hech qanday muammo tug'dirmaydi..
Eslatma: Algunas configuraciones de los nodos, necesarios right for funcionamiento, compo verificar que los nodos conectados conectados correcte los eventos (En este caso los eventos que implican a la bala, el enigigo y al jugador), guruhlar va guruhlar.: LimitBalas tili va guruhlari ekranini sozlash, ekranni sozlash, uning loyihasi> 1600x600 darajadagi proyekto> ventilyatorlar, shuningdek, eng katta vazifalarni bajaradi. aprecian en la imagen para poder serc accedidos correctamente, tambén podemos definitos los controles que de asignan a la altura y ángulo de disparo del personaje en la ventana Proyecto> ajustes del proyecto> mapas de entrada, aquit podemos definitos las utlasar quaremer. defecto tenemos las flechas (Arriba y abajo para altura y izquierda y derecha para el angulo).
7 -qadam: De Los skriptlarini yaratish
![Creación De Los skriptlari Creación De Los skriptlari](https://i.howwhatproduce.com/images/001/image-2101-18-j.webp)
![Creación De Los skriptlari Creación De Los skriptlari](https://i.howwhatproduce.com/images/001/image-2101-19-j.webp)
![Creación De Los skriptlari Creación De Los skriptlari](https://i.howwhatproduce.com/images/001/image-2101-20-j.webp)
Shaxsiy skriptlar, shuningdek, personajlar, enemigos, skriptlar, puntaje, enemigos, audio yozuvlar. Yaxshi vosita dvigatellar uchun dasturiy ta'minot va C# -ni ishlatishda yordam beradi. GD.
Skriptlar doimiy ravishda bajarilishi kerak:
"nombreScript.cs (NombreNodo) -> tavsiflash"
Skriptni yozib bo'lmaydigan bo'lsa, tugmachani bosish tugmachasini bosing va eskogemos nomrenini tanlang.
Boshqaruv skriptlari nivel: infinite_bg.cs (Level1) -> Ma'lumotlar almashinuvi, hisob -kitoblar va hisob -kitoblar.
Godotdan foydalanish; tizimdan foydalanish;
public class infinite_bg: tugun
{ochiq juftlik puntaje = 0; public bool vivo = rost; xususiy Sprite fonlari = yangi Sprite [5]; shaxsiy float bg_width = 1598f; shaxsiy float move_speed = 400f; shaxsiy float min_X = -1300f; // Tugun sahna daraxtiga birinchi marta kirganda chaqiriladi. public override void _Ready () {for (int i = 1; i <6; i ++) {backgrounds [i-1] = GetNode ("Fon"+i); }}
// Har bir kadrga qo'ng'iroq qilingan. "delta" - bu oldingi ramkadan o'tgan vaqt.
umumiy bekor qilish void _Process (float delta) {for (int i = 0; i <backgrounds. Length; i ++) {Vector2 temp = backgrounds . GetPosition (); temp.x -= harakatlanish tezligi * delta; if (temp.x <= min_X) {temp.x += bg_width * backgrounds. Length; } fon . SetPosition (temp); } if (vivo) {puntaje += 0,01; Area2D BotonReinicio = GetNode ("BotonReinicio"); Vector2 escala = yangi Vector2 (0, 0); BotonReinicio. Scale = eskalalar; Puntaje yorlig'i = GetNode ("CanvasLayer/puntaje"); Puntaje. Text = Math. Round (puntaje, 0). ToString (); } else {Area2D BotonReinicio = GetNode ("BotonReinicio"); Vector2 escala = yangi Vector2 (1, 1); BotonReinicio. Scale = eskalalar; }
}
}
Reinicio: botonReinicio.gd (botonReinicio) -> Boshqaruv vazifalarini bajaring.
2D maydonini kengaytiradi
func _on_Area2D_input_event (ko'rish oynasi, hodisa, shakl_idx):
agar voqea InputEventMouseButton bo'lsa: if event.is_pressed (): get_tree (). reload_current_scene ()
Jugador: jugador.gd (Jugador) -> Boshqaruvni davom ettiring.
KinematicBody2D kengayadi
var motion = Vector2 ()
func _ready ():
chop etish (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 harakat = move_and_slide (harakat)
Disparo: Disparo_ Brazo.gd (Brazo) -> vaqtni o'lchash va o'chirish jarayonini boshlang.
2D maydonini kengaytiradi
var bala = oldindan yuklash ("res: //Escena/bala.tscn");
var disparo = rost; eksport var velocidad = 1000; eksport var nisbati = 0,4;
# Har bir kadrga qo'ng'iroq qilingan. "delta" - bu oldingi ramkadan o'tgan vaqt.
func _process (delta): if rotation_degrees> -40: if Input.is_action_pressed ("ui_left"): rotation_degrees += -5 "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 = aylanish_degrees; bala_creada.apply_impulse (Vector2 (), Vector2 (velocidad, 0).otirilgan (aylantirish)) get_tree (). get_root (). add_child (bala_creada); disparo = noto'g'ri; rentabellik (get_tree (). create_timer (nisbat), "taymout") disparo = rost;
To'qnashuvlar: enemigo.gd (Enemigo) y bala.gd (Bala) -> aktual ante una colisión (Enemigo y bala) (Enemigo y jugador).
KinematicBody2D kengayadi
#Ma'lumotlar aniqlanishi
var velocidad = -500; func _process (delta): move_and_slide (Vector2 (velocidad, 0)) o'tish
func _on_Area2D_body_entered (tana):
agar body.is_in_group ("Jugador"): body.queue_free (); get_node ("/root/Level1"). vivo = false; agar body.is_in_group ("Ekran"): queue_free ();
RigidBody2D kengayadi
#
func _on_Bala_body_entered (tana):
agar body.is_in_group ("Enemigo"): body.queue_free (); navbat_free (); get_node ("/root/Level1"). puntaje += 5; agar body.is_in_group ("Ekran"): queue_free ();
Dushmanlar: EnemySpawner.gd (EnemySpawner)-> alieatoria deemigos.
tugunni kengaytiradi
var dushman = oldindan yuklash ("res: //Escena/Enemigo.tscn");
var aparicion = 0.8; eksport var aparecer = true;
func _process (delta):
if (aparecer): spawn () aparecer = false; rentabellik (get_tree (). create_timer (aparicion), "timeout") aparecer = true; func spawn (): var enemigo = dushman.instance (); var pos = Vector2 (); pos.x = 1632; pos.y = rand_range (32, 592); enemigo.set_position (pos); get_node ("konteyner"). add_child (enemigo)
Los -Anjeles mustaqil ravishda, eng muhimi, mustaqil ravishda, har qanday noma'lum, bala.tscn va enemigo.tscn.
Videokuzatuvning oxirgi versiyasi:
github.com/jcamiloguzman/ArduPack
8 -qadam: Integrasion (Boshqarish + Videojuego)
![Integratsiya (Boshqarish + Videojuego) Integratsiya (Boshqarish + Videojuego)](https://i.howwhatproduce.com/images/001/image-2101-21-j.webp)
![Integratsiya (Boshqarish + Videojuego) Integratsiya (Boshqarish + Videojuego)](https://i.howwhatproduce.com/images/001/image-2101-22-j.webp)
![Integratsiya (Boshqarish + Videojuego) Integratsiya (Boshqarish + Videojuego)](https://i.howwhatproduce.com/images/001/image-2101-23-j.webp)
Bir vaqtning o'zida videokuzatuv funktsiyalari ham, nuestro -ni ham nazorat qilish mumkin, bu ham bir -biridan farqli o'laroq, siz nazoratni amalga oshirishingiz mumkin. noutbuklar, elektron qurilmalar va elektron qurilmalar bilan aloqa o'rnatiladi, bu nazorat qilish funktsiyalari va vazifalari, bluetooth -ni boshqarish, telefonni ulash va o'rnatish uchun javob beradi. Al -juego, si na todo ha funcionado correctamente, agar siz ArduPack -ni nazorat qilsangiz, bu hech qanday konvensional emas.
ESP32 BLE klaviaturasi Bluetooth -ni o'rnatish bilan bir vaqtda, u avtomatik ravishda avtomatlashtirilgan.
Jugar!
Tavsiya:
DVD pleerni qanday ajratish mumkin: 3 qadam
![DVD pleerni qanday ajratish mumkin: 3 qadam DVD pleerni qanday ajratish mumkin: 3 qadam](https://i.howwhatproduce.com/images/001/image-23-50-j.webp)
DVD pleerni qanday ajratish mumkin: Bu eski elektronikani qutqarish bo'yicha qo'llanmalarning ikkinchi qismi. Agar siz oxirgi darslikni ko'rishni istasangiz, bu erni bosing
7 kunlik variant: Harbiy havo kuchlaridan qanday ajratish mumkin: 22 qadam
![7 kunlik variant: Harbiy havo kuchlaridan qanday ajratish mumkin: 22 qadam 7 kunlik variant: Harbiy havo kuchlaridan qanday ajratish mumkin: 22 qadam](https://i.howwhatproduce.com/images/005/image-12793-j.webp)
7 kunlik variant: Harbiy havo kuchlaridan qanday ajratish kerak: Ushbu darslik havo kuchlari ofitseri 7 kunlik variantda havo kuchlarini tark etish uchun qanday ariza berishi mumkinligi asta-sekin rasmlarda ko'rsatilgan. " 7 kunlik variantni ishlatish " yoki " 7 kunlik tanlov " Harbiy havo kuchlaridan ajralib chiqish uchun ariza berish degan ma'noni anglatadi
Amazon Echo -ni ajratish: 6 qadam
![Amazon Echo -ni ajratish: 6 qadam Amazon Echo -ni ajratish: 6 qadam](https://i.howwhatproduce.com/images/005/image-12856-j.webp)
Amazon Echo -ni ajratib ko'rsatish: Agar siz menga o'xshasangiz, siz narsalarni ajratib, o'ylab ko'rmaysiz. Mening maqsadim - Amazon Echo -ni xavfsiz tarzda demontaj qilish uchun Internetdagi eng ma'lumotli qo'llanmani yaratish. Mennikini birinchi marta ajratib qo'yganimda, menda hech qanday ko'rsatma yoki ko'rsatma yo'q edi
Printerni qanday ajratish mumkin: 4 qadam
![Printerni qanday ajratish mumkin: 4 qadam Printerni qanday ajratish mumkin: 4 qadam](https://i.howwhatproduce.com/images/006/image-15330-j.webp)
Printerni qanday ajratish mumkin: Bu eski, axlatli elektronikalarni ajratish va ichidagi xazinani qutqarish haqidagi ko'rsatmali ma'lumotlarning birinchi seriyasidir
Arduino g'isht ranglarini ajratish loyihasi: 5 qadam
![Arduino g'isht ranglarini ajratish loyihasi: 5 qadam Arduino g'isht ranglarini ajratish loyihasi: 5 qadam](https://i.howwhatproduce.com/images/010/image-29396-j.webp)
Arduino g'isht ranglarini ajratish loyihasi: Arduino qo'llanmasida biz o'yinchoq g'ishtim ranglarini Arduino va TCS3200 rang sensori yordamida aniqlashni o'rganamiz. Qo'shimcha ma'lumot olish uchun quyida yozma qo'llanmani o'qishingiz mumkin. Materiallar: Arduino Leonardo x 1TCS3200 x 1 Ko'p karton 180 Servo