Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    problemi quando cambio le dimensioni dello stage..

    sto iniziando ora a programmare in flash, molte cosine mi sono già chiare, grazie al tutorial che mi sono guardato su Adobe Flash CS3

    ora stavo provando a far qualcosina...

    vi espongo un problema..

    sto provando a creare una palla che rimbalza sui "bordi" dello stage..

    e ci sono riuscito.. ora, il problema è.. che se io ridimensiono lo stage, o metto a tutto schermo, cioè, se cambio le dimensioni originali...

    la palla anziche rimbalzare sui bordi dello stage rimbalza un po' dove vuole lei..

    ho provato a cercare delle soluzioni ma non capisco come posso evitarlo..

    il mio codice lavora così:

    supponiamo che la palla si muova verso destra, verso il bordo..

    io ho messo questa condizione:

    if (palla.x + velocità_palla_x > stage.stageWidth-raggio_palla)
    {
    palla.x = stage.stageWidth-(raggio_palla-1);
    veolocità_palla_x = -velocità_palla_x;
    }

    spiegato a parole..

    se la posizione della palla + la velocità, supera il bordo dello stage..
    - la posizione della palla diventa il bordo destro dello stage (in modo che prevengo altri casini e non sembra ke la palla rimbalzi oltre il bordo)
    - il verso della palla si inverte


    ora... questo metodo funziona perfettamente..
    ma quando cambio le dimensioni dello stage, non funziona..
    la palla rimbalza fuori dallo stage se aumento le dimensioni, o all'interno dello stage, se le diminuisco..

    pensavo fosse perchè il raggio_palla che gli passavo era fisso, in pixel..
    ho provato anche a mettere quella variabile "raggio_palla" dinamica a seconda della larghezza dello stage (e cioè, il 10% dello stage..) ma il problema continua a esser presente...

    non so bene come gestire la cosa.. qualcuno mi da delle delucidazioni??

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    immagino che quello script stia dentro qualcosa che lo fa ripetere, ma evidentemente le dimensioni dello stage non vengono aggiornate quando viene ridimensionato, oppure lo stage non ha l'allineamento in alto a sinistra e perciò in basso e a destra rimbalza correttamente, mentre non lo fa in alto e a sinistra
    in questo secondo caso ti dovrebbe bastare aggiungere al tuo script come prima cosa questo:

    stage.scaleMode = StageScaleMode.NO_SCALE;
    stage.align = StageAlign.TOP_LEFT;

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.