Ben tornato Sharped. Grazie ai tutorial che hai fatto tempo fa, sono riuscito a creare con Unity un paio di giochini 2D, poi tra una cosa è l'altra mi sono arenato. Questo e un bellissimo tutorial, una bella rispolverata, almeno per me, che mi ha fatto ritornare la voglia di ribbutarmi nello sviluppo di piccoli videogiochi. Non ti fermare mi raccomando, e continua su questa strada. Al prossimo tutorial....
Ciao Fabio, finalmente ho quasi finito un semplicissimo giochino. Il giochino che sto realizzando è un rifacimento di un vecchio gioco del Commodore 64 conosciuto in Italia principalmente col nome di "L'EROE PIERO", nome originale "MUTANT MONTY". Praticamente il personaggio, Piero, deve muoversi tra i vari livelli stando attendo ai mostri, e prendendo dei diamanti per passare di livello e salvare la sua fidanzata. Sono riuscito a replicare più o meno tutto, ma quando ho eseguito la Build del gioco, mi sono trovato davanti ad un problema, problema almeno per me difficile da risolvere. In sintesi, ho creato una singola scena dove ognuno dei livelli è un gameobject, salvati come prefab all'interno della cartella Resources, che vengono poi richiamati nella scena tramite uno script a seconda che si verifichi una certa condizione. Fino a quanto sono nell'editor di Unity 2017 (Editor che attualmente sto usando), tutto funziona perfettamete, i livelli vengono correttamente ricercati nella cartella Resources, caricati e visualizzati, perfetto direi. Ma quando creo la Build, questo non avviene, e viene caricato un livello a casaccio. Eccoti le istruzioni che hanno lo scopo di caricare i livelli: private int _LivelloGioco = 1; // Livello iniziale private GameObject _LivelloCaricato=null; // Inizializzazione GameObject void Start() { _AttivaLivello (); // Carica primo livello } void FixedUpdate() { } void OnTriggerEnter2D(Collider2D _Oggetto) { // Verifica se hai preso tutto l'oro presente nel livello if (_Oggetto.tag == "Cancello" && _OroPreso == _OroPresenteNelLivello [_LivelloGioco-1]) { Destroy (_LivelloCaricato); _LivelloGioco += 1; _AttivaLivello (); } } // Funzione per attivazione Livello void _AttivaLivello() { GameObject _PrefabLivelloDaAttivare = Resources.Load("Livelli/Livello-" + _LivelloGioco); _LivelloCaricato = (GameObject)Instantiate (_PrefabLivelloDaAttivare); } Spero di essere stato abbastanza esaustivo, su RU-vid non saprei come passarti l'intero script senza far casino. Grazie ancora della Tua disponibilità.
Davvero complimenti. Ho iniziato ieri a seguire il tuo tutorial. Mi dispiace che il canale non sia più operativo. Non trovo la risorsa per gli assets audio
Ho una domanda, perchè hai deciso di dare il comandando di far partire la pallina dal bar controller e non dal ball controller? a me sembra più logico farlo dal ball
Ciao ! Complimenti per il video! Ascolta, io sono arrivato al punto in cui ricarico la scena di gioco ma durante il Restart la pallina non torna in posizione, avanza nell'infinito ed oltre. Ho controllato decine e decine di volte ed ho pure rifatto il progetto da capo seguendo meticolosamente passo passo, lettera per lettera, riga per riga ma non riesco a trovare l'errore. Potresti aiutarmi?
Ciao! Sto seguendo i tuoi tutorial e li trovo veramente fatti bene! Avrei una domanda, la mia barra subisce uno spostamento quando la palla collide con la parte obliqua del poly collider. Quindi se la barra colpisce la pallina con diciamo "il lato sinistro" la pallina rimbalza correttamente ma la barra si sposta di poco verso destra. Da cosa può dipendere?
Fantastico, oltre che come livello di competenze (Unity e C#), come capacità pedagogica, che rende incredibilmente friendly il corso. Piccoli errori nell'inglese (engine si pronuncia ingen, non enjain, e altri, ma si capisce tutto perfettamente ed è quello che importa). Un grazie di cuore, sei un grandissimo insegnante. Problema (se hai tempo rispondi): l'attuale distribuzione di Unity scarica una versione di VS community 2019 che non riconosce l'importazione UnityEngine (usando using nello spazio di importazione).
non siamo certo qui a fare le pulci sul come pronunciare correttamente i termini inglesi..comunque un errore piuttosto evidente l'ha fatto in editing ripetendo due volte la spiegazione del primo script. A parte questo è sicuramente bravo a divulgare in modo comprensibile e alla portata di tutti l'argomento trattato, non esattamente semplice.
Ciao a tutti, scusate in anticipo se è una domanda banale. Utilizzo Apple e sono alle prime armi, scrivendo il codice su Visual Studio Code non mi riconosce il comando Input, come posso risolvere? Grazie in anticipo.
Ciao, sto avendo un problema dal minuto 34. Praticamente una volta scritto il codice dice che serializefield non viene trovato e wukjdi non compare nemmeno il campo nell'insoector pur scrivendo il codice in maniera identica
Da un EPIC fan boy (Unreal engine per tutta la vita) ti faccio i miei complimenti, ma per favore! Engin non ENGIAIN!! Keep it up, sempre piu' game developer italiani, mi rende stra felice
Ciao. intanto complimenti per il tutorial. ho notato che la sezione Scriptare la barra 1 si ripete. Poi al minuto 54:11 quando riapri lo script BarController c'è un float minX etc con un if in void MoveBar che non si è visto quando l'hai aggiunto. scusa ma sono agli inizi.
Ciao @Sharped , siccome voglio iniziare a sviluppare e non solo Volevo sapere, con la versione gratuita è possibile monetizzare? Ti ringrazio anticipatamente per qualsiasi risposta data💪🏻👍🏻
Salve sono su linux e non riesco ad abilitare visual studio code (già installato) per unity, dove si imposta? in alcune guide dice da modifica->giochi, ma non esiste nel mio visual studio
Ciao a tutti, @Sharped stavo provando a fare questo gioco ma ho notato una problematica sul mio: ho un piccolo bug, quando colpisco il mattoncino quello che succede è questo: 1) colore di default (1lifecolor); 2) colpisco e va al 2lifecolor; 3) colpisco nuovamente e torna al 1lifecolor; 4) colpisco la terza volta e scompare; come si potrebbe sistemare? grazie in anticipo se mi risponderai
Ciao, davvero un video ben fatto, complimenti. Ho una domanda: a volte la pallina inizia a rimbalzare in orizzontale tra le due pareti e non va più ne giù ne su, quindi di fatto rimane in eterno a rimbalzare in orizzontale. Come si può ovviare a questa cosa? Grazie ancora.
Scusami ho appena iniziato a vedere il tuo video e credo che farò diversi commenti sotto il tuo video 😂 il primo commento riguarda il minutaggio 3:10 ovvero, come fa unity a sapere che un mio gioco ha superato i 100k? 😂
Ciao! Grazie mille per il tutorial! Sono una vera principiante ma con tanto impegno sto riuscendo a seguirlo. La domanda però è, potresti inserire il link della cartella per il sound? Pls! Sono arrivata fin qui e vorrei davvero completare questo tutorial!
Bellissimo tutorial, io con la programmazione con Unity sono alle prime armi e ti volevo chiedere, come hai fatto a fare apparire le frasi TMP rosse in modo random quando si perde?
Ciao! ho usato una lista che ho inizializzato con le stringhe di mio interesse. Al gameover seleziono un item randomico da questa lista e lo sovrascrivo al testo in UI!
1:51:18 sto avendo problemi col reset del gioco, quando clicco scompare la scritta Game Over ma il gioco non si resetta. Questo è il codice sorgente dello script GameManager (l'unica cosa che ho cambiato è "pressAnyKeyToPlay" con "CliccaIlTastoSinistroDelMouse"): using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class GameManager : MonoBehaviour { public static GameManager gameManager; [SerializeField] GameObject CliccaIlTastoSinistroDelMouse, gameOverPanel, gameWonPanel; Rigidbody2D ball; bool gameStarted = false, gameOver=false; private void Awake() { gameManager = this; } // Start is called before the first frame update void Start() { ResetGameScene(); } // Update is called once per frame void Update() { if(gameOver&&Input.GetMouseButtonDown(0)) { gameOverPanel.SetActive(false); } if (!gameStarted&&Input.GetMouseButtonDown(0)) { gameStarted = true; CliccaIlTastoSinistroDelMouse.SetActive(false); ball = GameObject.FindGameObjectWithTag("Ball").GetComponent(); ball.AddForce(Vector2.up); } } public void GameOver() { gameOver = true; gameOverPanel.SetActive(true); } void ResetGameScene() { if (SceneManager.GetSceneByName("GameScene").name == "Gamescene") { SceneManager.UnloadScene("GameScene"); } SceneManager.LoadScene("GameScene", LoadSceneMode.Additive); gameOver = false; gameStarted = false; } }
Rispondo per i futuri che avranno lo stesso problema, si è solo scordato di far vedere che ha aggiunto un richiamo alla ResetGameScene() anche nel primo IF dell'Update, quello IF gameover&&mousebutton, sotto gameOverPanel.SetActive(false); addios
Ciao, mi sa tanto che unity non ti ha creato il necessario per lavorare con Unity. Ti consiglio do andare su impostazioni e cercare external tools. Li dovrebbe esserci visual studio. Toglilo e rimettilo
Bel video, Bel Videogioco. L'ho realizzato, esportato su piattaforma android, sembra funzionare correttamente. L'ho modificato leggermente. Ho inserito un campo che conta i punti ed un campo che conta i levelli, in caso riesco a distruggere tutti i bricks. Per dare la sensazione di livelli che aumentano, aumento la difficolta' del gioco. Il primo passo, il numero di volte da colpire un brick, che passa da 1 a 2 ed in fine a 3. Poi, il numero di bricks da spawnare, da 3 a 5, e da 5 in poi, aumentano di 5 (5 - 10 - 15...) fino a 45. A 45, inizio ad aumentare la velocita' della palla. Ho iserito il pulsante Quit, per uscire dal gioco. Sottolineo, sembra che sul mio telefonino funziona. Ancora Grazie per la condivisione di questo Bel Progetto.
@@SharpedUnity io ho un piccolo canale youtube legato al mondo dell'informatica, programmazione , nuove tecnologie e videogiochi, se ti va di fare qualche forma di collaborazione
ciao, il tutorial è stato bello e accurato. nel minuto 34:26 non riuscivo a trovare il componente aggiuntivo. sulla console c'è scritto: "assets/scripts/bar controller.cs(24,85): error CS1513: } expected"se mi potevi dare una mano te ne sarei grato.
RU-vid casca su Bug incredibili. Dividendo il video in sezioni e mettendolo in premiere crasha tutto :( Comunque sia grazie per il tempo che spendi per chi ha appena iniziato!