Visualizzazione dei risultati da 1 a 4 su 4

Discussione: MC fluidi

  1. #1

    MC fluidi

    Ciao ragazzi!
    Sto cercando un modo per far muovere un MC con i tasti freccia!

    Facile! direte.
    E ch'ce vò? "onKeyDown".. .."onKeyUP".. ..poi ci metti anche un po' di "addListener", un po' di "_x" e di "_y" e tutto funzia!

    E invece è proprio quì che si verificano i problemi:
    primo perché se premo "freccia destra" e "freccia su" assieme il mio Mc non va in alto a destra, ma o solo in alto o solo a destra e poi perché se metto "mc._x+=1" si vede il MC che si sposta in modo scattoso.

    insomma sapete come fare o dove posso trovare una spiega per far muove un MC in modo fluido con i tasti?

    Grazie raga!!!

    8bit

  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Il codice che stai usando adesso?

  3. #3
    lo ho appena perso
    si è chiuso Flash e non avevo salvato
    VVoVe: VVoVe:

  4. #4
    Allora NegaTive, ho riscritto l'AS:

    //------------------------------------------
    function spostaCursori(swich) {
    if (swich == "topRight") {
    main.holderC.cx._x += speedC;
    main.holderC.cy._y -= speedC;
    } else if (swich == "bottomRight") {
    main.holderC.cx._x += speedC;
    main.holderC.cy._y += speedC;
    } else if (swich == "bottomLeft") {
    main.holderC.cx._x -= speedC;
    main.holderC.cy._y += speedC;
    } else if (swich == "topLeft") {
    main.holderC.cx._x -= speedC;
    main.holderC.cy._y -= speedC;
    } else if (swich == "top") {
    main.holderC.cy._y -= speedC;
    } else if (swich == "bottom") {
    main.holderC.cy._y += speedC;
    } else if (swich == "right") {
    main.holderC.cx._x += speedC;
    } else if (swich == "left") {
    main.holderC.cx._x -= speedC;
    }
    }
    function myOnKeyDown() {
    if (Key.isDown(Key.UP) && Key.isDown(Key.RIGHT)) {
    spostaCursori("topRight");
    } else if (Key.isDown(Key.DOWN) && Key.isDown(Key.RIGHT)) {
    spostaCursori("bottomRight");
    } else if (Key.isDown(Key.DOWN) && Key.isDown(Key.LEFT)) {
    spostaCursori("bottomLeft");
    } else if (Key.isDown(Key.UP) && Key.isDown(Key.LEFT)) {
    spostaCursori("topLeft");
    } else if (Key.isDown(Key.UP)) {
    spostaCursori("top");
    } else if (Key.isDown(Key.DOWN)) {
    spostaCursori("bottom");
    } else if (Key.isDown(Key.RIGHT)) {
    spostaCursori("right");
    } else if (Key.isDown(Key.LEFT)) {
    spostaCursori("left");
    }
    }
    var myListener = new Object();
    myListener.onKeyDown = myOnKeyDown;
    Key.addListener(myListener);
    //------------------------------------------



    Mamma che casino, vero!?

    questo è lo script che uso, "cx" e "cy" sono dei MC che ho chiamato cursori, ma che in realtà sono degli indicatori di coordinate.

    il mio problema è che non riesco ad avere uno spostamento fluido e non scattoso e che nel momento in cui cambio la sequanza di tasti, prima che i mc si spostino come vorrei, c'è un momento di stasi.

    sai aiutarmi?

    comunque grazie!

    8bit

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.