Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    29

    AS3_funzione che controlla pulsanti

    Progetto in FlashCS3.
    Sullo stage ho 3 pulsanti (A,B,C) ognuno con relativa animazione di apertura e chiusura della
    propria sezione.
    Quello che vorrei fare io, se possibile è questo:
    (lo scrivo in italiano sperando che qualcuno riesca a tradurmelo in AS)

    inserire il codice nel frame 0 nella timeline principale e tramite questo assegnare
    le variabili ai pulsanti

    SE clikki B
    e sei al frame 10
    allora vai al frame 11 (riproduci l'animazione)
    e salta al frame 21
    MENTRE SE clikki C
    e sei al frame 10
    allora vai al frame 11 (riproduci l'animazione)
    e salta al frame 41
    MENTRE SE clikki A
    e sei al frame 30
    allora vai al frame 31 (riproduci l'animazione)
    e salta al frame 0

    .....bla bla bla(così via per tutte le combinazioni)

    E' un po lunga però credo sia solo ripetitiva...sempre se è possibile.
    Qualcuno ha qualche suggerimento in proposito.
    Grazie

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182

    Re: AS3_funzione che controlla pulsanti

    Originariamente inviato da mxxxo

    SE clikki B
    e sei al frame 10
    allora vai al frame 11 (riproduci l'animazione)
    e salta al frame 21
    MENTRE SE clikki C
    e sei al frame 10
    allora vai al frame 11 (riproduci l'animazione)
    e salta al frame 41
    MENTRE SE clikki A
    e sei al frame 30
    allora vai al frame 31 (riproduci l'animazione)
    e salta al frame 0
    Codice PHP:
    B.onPress = function () {
        if (
    this._parent._currentframe == 10) {
            
    this._parent.gotoAndPlay(11);
            
    this._parent.salto 21;
        }
    }
    C.onPress = function () {
        if (
    this._parent._currentframe == 10) {
            
    this._parent.gotoAndPlay(11);
            
    this._parent.salto 41;
        }
    }
    A.onPress = function () {
        if (
    this._parent._currentframe == 30) {
            
    this._parent.gotoAndPlay(31);
            
    this._parent.salto 1;
        }

    questo codice prevede che nel frame finale dell'animazione ci sia una funzione gotoAndStop che invii il filmato al frame passato tramite la variabile che viene registrata di volta in volta con un numero diverso e che si trova nel frame con this.salto

  3. #3
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    oops, ho letto ora AS3, un attimo

    [edit] ecco qui:

    Codice PHP:
    var salto:uint 1;
    A.addEventListener(MouseEvent.CLICKclickHandler);
    B.addEventListener(MouseEvent.CLICKclickHandler);
    C.addEventListener(MouseEvent.CLICKclickHandler);
    function 
    clickHandler (e:MouseEvent) {
        switch (
    e.target) {
            case 
    A:
                if (
    this.currentFrame == 30) {
                    
    this.gotoAndPlay(31);
                    
    salto 1;
                }
                break;
            case 
    B:
                if (
    this.currentFrame == 10) {
                    
    this.gotoAndPlay(11);
                    
    salto 21;
                }
                break;
            case 
    C:
                if (
    this.currentFrame == 10) {
                    
    this.gotoAndPlay(11);
                    
    salto 41;
                }
                break;
        }

    Il codice dovrebbe essere abbastanza chiaro.

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    29
    WOW.......grazie!!!...e che velocità!!!
    Solo un paio di cose...
    1-var salto:uint = 1; ....unit o unit?
    2-function clickHandler (e:MouseEvent) {
    switch (e.target) { ....."e"cos'è??...sia nel MouseEvent che nel target?
    3-Se dovessi aggiungere altri pulsanti
    basterebbe aggiungerere----> X.addEventListener(MouseEvent.CLICK, clickHandler);?

    ti ringrazio ancora.

  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da mxxxo
    WOW.......grazie!!!...e che velocità!!!
    Solo un paio di cose...
    1-var salto:uint = 1; ....unit o unit?
    2-function clickHandler (e:MouseEvent) {
    switch (e.target) { ....."e"cos'è??...sia nel MouseEvent che nel target?
    3-Se dovessi aggiungere altri pulsanti
    basterebbe aggiungerere----> X.addEventListener(MouseEvent.CLICK, clickHandler);?

    ti ringrazio ancora.
    1- uint ossia unsigned integer, intero senza segno

    2- ad ogni funzione che viene passata come evento, bisogna impostare un parametro (non importa il nome) e questo parametro assume automaticamente determinate proprietà, tra cui target che rappresenta il clip che ha "scatenato" l'evento

    3- no dovrestri aggiungere anche il blocco che effettua l'azione dentro alla funzione chiamata dall'evento
    Codice PHP:
            case X:
                if (
    this.currentFrame == 10) {
                    
    this.gotoAndPlay(11);
                    
    salto 61;
                }
                break; 

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    29
    Perfetto!!!
    Ti ringrazio davvero tanto.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.