• User Newbie

    AS3 inventario per gioco

    Come fare lo script su AS3 per creare un inventario con oggetti?
    Salve, sto provando flash AS3 per creare un videogioco semplice che abbia le stesse funzioni di un gioco d'avventura, (tipo monkey island). Il mio problema sta nel creare uno script per far funzionare gli oggetti e l'inventario. Ad esempio cliccando su un oggetto questo viene immesso nell'inventario scomparendo dalla scena. Gli oggetti messi nell'inventario vengono poi usati per passare un ostacolo (puzzle) ad esempio una chiave ed una maniglia vengono presi da una stanza ed immessi nell'inventario, poi entrando in un altra stanza si usa la maniglia sulla porta cui mancava e la chiave per girare la serratura.
    Se avete qualche esempio da darmi qualche dritta, ve ne sarei grato.
    Grazie per l'attenzione


  • Super User

    Ciao benvenuto sul forum GT, ma tu hai già scritto qualcosa? Creare giochi è l'ultimo gradino della programmazione actionscript, bisogna essere molto esperti.


  • User Newbie

    Ho capito il problema, e l'ho notato, dove per far 2 click si scrive un tema quasi indecifrabile; ho provato un pò Actionscript3, ma non comprendo se esiste una logica deducibile, oppure se gli script si possono creare solamente tramite esperienza, quindi mimando i vari piccoli problemi risolti in passato, sommandoli per fare cose più complicate.

    Comunque il mio dilemma sta solo in questo, faccio un esempio fantascientifico (magari flash capisse queste parole 🙂 )
    dire a flash che esistono 2 oggetti:

    object: chiave1
    object: maniglia1

    if user click on object chiave1 gotoandplay4 and remove it from the screen and put into the inventory.//l'oggetto viene preso dalla stanza e spostato tramite animazione (facoltativo) nell'inventario

    if user click on object maniglia1 gotoandplay5 and remove it from the screen and put into the inventory./l'oggetto viene preso dalla stanza e spostato tramite animazione (facoltativo) nell'inventario

    dire a flash che questi oggetti usati in un certo modo fanno accadere certi eventi, eventi sonori, testuali, salti di frame:

    if object chiave1 is put into hole1 and maniglia1 is put into hole2, open the door, goto andplay16//puzzlecompletato
    if objecy chiave1 is put into hole1 without maniglia1 into hole2 play sound12 (oppure gotoandplay)//solo un componente presente
    if object maniglia1 is put into hole2 without chiave1 into hole1 play sound 12 (oppure gotoandplay)//solo un componente presente

    if object maniglia1 is put into hole1 gotoandplay13//maniglia nel buco sbagliato
    if object chiave1 is put into hole2 gotoandplay13//chiave nel buco sbagliato

    A capire non sembra così complicato, ma magari flash capisse sta roba, purtroppo basta una virgola fuori posto che salta tutto.
    Se qualcuno è abbastanza esperto paziente e disponibile per scrivere in as3 quella roba, lo ringrazio, anche se temo che questo mister x non esista 🙂 . **Avevo solo questo da domandare, perchè risolto questo problema ho praticamente finito il gioco dal punto di vista della programmazione, **perchè gli altri puzzle bene o male funzionerebbero allo stesso modo, il divertimento del gioco non stà nei puzzle facili o complessi che siano, ma nella storia interessante, poi ci sarebbe l'arte, le animazioni, il sonoro, la musica, la storia, in tutte ste altre robe so arrangiarmi molto bene, e per ripetere ancora: il gioco non è basato sulla programmazione complessa, ma sulla storia che come sempre è la parte più importante.

    Grazie comunque


  • Super User

    Ma l'inventario cosa è, da cosa è rappresentato?
    Perchè per la seconda parte non c'è grossa difficoltà, se lachiave è nella serratura fai questo, si potrebbe scrivere in as3 così

    
    if(chiave_mc.hitTestObject(seratura_mc))
    {gotoAndPlay()
    //o qualsiasi altra azione}