Oppure

Loading
05/02/17 15:32
dario cavarrett
Salve  a tutti, volevo sapere se esiste un comando ( o una funzione ) per poter ruotare una figura in pascal (unit graph) evitando così d doverlo fare manualmente ogni volta ( mi servirebbe per un giochetto che sto programmando). Grazie a chi risponderà
aaa
05/02/17 19:18
Poggi Marco
Ciao!

Per risolvere il problema esistono molte soluzioni valide. Ad esempio ridisegna la figura con lo stesso colore dello schermo.
aaa
06/02/17 11:38
dario cavarrett
Ci avevo pensato anch' io ma volevo infatti chiedere se esistessero modi piu semplici e meno dispendiosi per fare ciò
aaa
06/02/17 13:15
Poggi Marco
Esistono metodi alternativi, ad esempio memorizzare un'area dello schermo, e ridisegnarla altrove.
Esempio:
program copia_figura;

{Sample code for the GetImage procedure.}
  uses Graph;
 var
   Gd, Gm: Integer;
   P: Pointer; {Puntatore in cui memorizzare la figura}
   Size: Word;
 begin
   Gd := Detect;
   InitGraph(Gd, Gm, '');
   if GraphResult <> grOk then
     Halt(1);
   Bar(0, 0, GetMaxX, GetMaxY);
   circle(20, 30, 5);
   Size := ImageSize(10, 20, 30, 40); {Calcolo di quanta memoria serve per memorizzare l' immagine }
   GetMem(P, Size);   {Alloca un blocco di memoria nel puntatore }
   GetImage(10, 20, 30, 40, P^); {copia della figura}
   Readln;
   ClearDevice; {Cancella lo schermo}
   PutImage(100, 100, P^, NormalPut); { Riproduco l'immagine }
   Readln;
   CloseGraph;
 end.

aaa
06/02/17 14:50
dario cavarrett
Grazie!
aaa