Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    210

    trascinare, ruotare tramite pulsanti

    Ciao a tutti.

    Mi e vi pongo un problema. Ho creato una serie di oggetti trascinabii per lo stage. Come? Ho creato dei mc dentro i quali ho messo un pulsante trasparente al quale ho associato:

    on (press) {
    startDrag(this);
    }

    on (release) {
    stopDrag();
    }

    molto semplice ma funziona. Trascino dunque i mie oggeti per lo stage. Adesso avrei la necessità che l'utente li possa non solo posizionare dove vuole ma anche ruotarli e scalarli.
    Potrei creare un pulsante trasparente ed inserire:

    on (release) {
    my_mc._rotation += 15;
    }

    e fare una cosa analoga con _xscale e _yscale ma questo se avessi un solo mc istanziato my_mc. Il mio problema è che ho una quarantina di oggetti. Mi servirebbe potere applicare l'azione non ad un'istanza di mc ma riconoscere, ad esempio, un mc "selezionato" ed applicargli l'azione.

    La domanda è proprio questa? Si possono applicare azioni al mc selezionato iun quel momento?

    Boh?


  2. #2
    beh se ho capito bene si

    in pratica avendo un 40ina di oggetti potresti ...invece di applicare l'azione sull'oggetto ...metterla nella timeline.....con un ciclo for e gli eventi al suo interno scrivere una sola volta il codice x tutti i pls..

    supponendo che questi clip ad es li istanzi ...fig0,fig1,fig2,fig3...fig40

    sul frame

    for(i=0;i<40;i++){
    _root["fig"+i].num=i;
    // press
    _root["fig"+i].onPress=function(){
    _root["fig"+this.num].startDrag();
    }
    //release
    _root["fig"+i].onRelease=releaseOutside=function(){
    _root["fig"+this.num].stopDrag();
    }
    }

    ovviamente puoi aggiungere altre azioni negli eventi del ciclo for


    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    210
    A parte che io volevo evitare proprio di istanziare quaranta simboli. Hahahah! Vabbè, questo non è il problema più grande, l'ho fatto ma in realtà il problema non è risolto. Se per esempio scrivo nel primo frame questo:

    for(i=0;i<36;i++){
    _root["fig"+i].num=i;

    _root["fig"+i].onPress=function(){
    _root["fig"+this.num].startDrag();
    _root["fig"+this.num]._rotation += 15;

    }
    _root["fig"+i].onRelease=releaseOutside=function(){
    _root["fig"+this.num].stopDrag();
    }
    }

    Già da quando clicco sul mc per trascinarlo viene automaticamente ruotato e così accadrebbe anche per la scalatura. Come si fa a mettere questa cosa su un pulsante? Mi spiego meglio: l'utente principalmente deve trascinare qua e la delle cose sullo stage per creare delle "forme" con i tanti elementi trascinati. Poi, se gli serve posizionare in modo diverso uno di questi, magari deve poterlo ruotare o scalare, quindi sarebbe buona cosa un pulsante unico in alto con scritto: ruota e così via.

    Si può?

  4. #4
    beh il fatto di ridimensionare ruotare è un'altro discorso ...io ti ho solo passato il ciclo x applicare ai tuoi pls le stesse azioni..
    ora secondo me avresti bisogno di pls che si occuperebbero di ruotare ridimansionare il clip ...

    cioè l'utente trscina il clip ...poi magari deve ruotarlo e clicca sul pls ruota magari ci mette anche l'angolo di rotazione e si fa ruotare...la stessa cosa x ridimansionarlo..

    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    210
    ora secondo me avresti bisogno di pls che si occuperebbero di ruotare ridimansionare il clip ...
    ...beh questo lo sapevo già, ed è proprio quello che non mi riesce di fare.

    Se io applico la cosa che dici tu sul frame, automaticamente tutti i pulsanti istanziati con fig1, fig2, fig3, ecc... hanno già un'azione alla pressione e al rilascio, quindi senza cliccare su nessun pulsante esterno ma semplicemente se clicco su uno di questi, avviene l'azione presente nel ciclo. Ma, ...ripeto, se gli inserisco anche la rotazione direttamente non va bene. Io non voglio che cliccando su di loro, questi ruotino.

    Il mio problema è proprio la possibilità di controllare questa cosa con un pulsante, esterno ai pezzi trascinabili, senza doverne creare 40 di pulsanti, uno per ogni istanza.

    Come si fa ad applicare una cosa come quel ciclo ad un pulsante? Ci ho provato a fare il pulsante ruota, ma non mi riesce

    Se creo un pulsante nello stage e gli metto:

    on (release) {
    for (i=0; i<36; i++) {
    _root["fig"+this.num]._rotation += 15;
    }
    }

    non succede nulla, anche perchè se il pulsante è esterno, come fa a sapere qualè il pezzo trascinato che voglio ruotare?

    Booh?

  6. #6
    ...allora scusami ma il tempo è tiranno..

    cmq io farei in questo modo ho diversi pls a seconda dell'azione che voglio fare ad es spostare ruotare ...etc facciamo l'es dello spostare ruotare quindi ho solo due pls con istanza btscelta e btscelta1 poi ho sempre i miei 40 clip
    sul frame

    //inizializzo la var scelta a spostamento
    scelta="spostamento";
    for(i=0;i<40;i++){
    _root["fig"+i].num=i;

    _root["fig"+i].onPress=function(){

    if(scelta=="rotazione"){
    _root["fig"+this.num]._rotation += 15;
    }
    if(scelta=="spostamento"){
    _root["fig"+this.num].startDrag();
    }
    }
    _root["fig"+i].onRelease=releaseOutside=function(){
    _root["fig"+this.num].stopDrag();
    }
    }

    //x i pls scelta
    btscelta.onRelease=function(){
    scelta="rotazione";
    }
    btscelta1.onRelease=function(){
    scelta="spostamento";
    }


    e
    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  7. #7
    un semplice es di quanto scritto sopra
    http://www.leonardoinformatica.it/xf...ta_sposta.html

    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    210
    Grandioso, funziona!!

    Già così funziona ma ora proverò a complicarmi ulteriormente la vita
    Comunque tantissime grazie!!!

  9. #9
    Originariamente inviato da roccapiano
    Grandioso, funziona!!

    Già così funziona ma ora proverò a complicarmi ulteriormente la vita
    Comunque tantissime grazie!!!
    di niente figurati



    ps
    beh si con lo stesso discorso puoi sicuramente aggiungerci altre funzioni e ottimizzare il tutto ...magari con le tween x le trasformazioni non legate al drag...tipo ridimensionamento rotazione ....

    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

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 © 2025 vBulletin Solutions, Inc. All rights reserved.