Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    98

    Problemi con cicli e FillEllipse()

    Ciao a tutti,

    volevo fare pratica con simulazioni e urti fra oggetti. Mi è subito sorto un problema. Ho letto di utilizzare il metodo Paint del form dove inserire due metodi: uno per la gestione dei miei oggetti (per ora li sposto in modo casuale e basta) e uno per la stampa di essi a video (utilizzo una Fillellipse() per ogni oggetto) e poi chiamare il metodo Invalidate() per costringere il forum a ridisegnarsi in modo da creare un ciclo infinito.

    Per funzionare funziona, il problema è che il framerate è 42fps (bassissimo visto che non faccio nient'altro che stampare gli oggetti per ora [e visto che se salto la stampa sale a 3500]) e poi gli oggetti stampati lampeggiano in modo fastidioso..

    Qualcuno ha consigli? Se servono altre info chiedete pure.

    .Fakkio.

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,474

    Moderazione

    Di quale linguaggio (e versione) stiamo parlando?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    98
    Certo. Volevo metterlo nel titolo poi mi è sfuggito. Comunque sto parlando di C# con visual studio 2008. Grazie.

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,474

    Moderazione

    Originariamente inviato da Fakkio
    Certo. Volevo metterlo nel titolo poi mi è sfuggito. Comunque sto parlando di C# con visual studio 2008. Grazie.
    Ho modificato io.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    98
    Ho risolto aggiungendo questa riga

    codice:
    SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint | ControlStyles.OptimizedDoubleBuffer, true);
    prima di

    codice:
    InitializeComponent();
    nel costruttore del Form. Non so cosa faccia questa riga (ora mi leggero la doc) però funziona. Grazie a tutti lo stesso, ci sentiremo quando non saprò come gestire le collisioni tra gli oggetti XD. Chiudete pure.

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.