home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1997 January / macformat46.iso / Shareware Plus / Developers / Library / NGL 2.0 Demo / NGL2.0.0(E)Demo / Sprite Sample / Sprite_Sample(PPC).c < prev    next >
Encoding:
C/C++ Source or Header  |  1996-10-03  |  2.5 KB  |  69 lines

  1. /*============================================================
  2.  
  3.                     N_Sprite sample program
  4.                     
  5. ============================================================*/
  6.  
  7. #include        "N_Library.h"
  8.  
  9. short        Data_Rsrc = 0;
  10. long            counter = 0;
  11.  
  12. void main(void)
  13. {
  14.     WindowPtr    window;
  15.     short        x,y;
  16.     long            ww;
  17.     
  18.     ToolboxInit();
  19.     ColorCheck();
  20.     HideMenuBar();
  21.     window = GetNewWindow (128,nil,(WindowPtr)-1L );
  22.     N_Window_Set(window,-(window->portBits.bounds.left),-(window->portBits.bounds.top),640,480);
  23.     Open_Resource_File(128,1,&Data_Rsrc);
  24.     N_Pict_Draw(128,0,0,(GrafPtr)Main_Window,true);
  25.     N_Sprite_Set(129,0,128,128,0,1,1,0);                                            //ÉXÉvÉâÉCÉgìoò^ (0-3)
  26.     N_Sprite_Set(130,1,128,128,0,1,1,0);
  27.     N_Sprite_Set(131,2,32,32,0,1,1,0);
  28.     N_Sprite_Set(132,3,32,32,0,1,1,0);
  29.     Close_Resource_File(&Data_Rsrc);
  30.  
  31.     HideCursor();
  32.     Delay(60,&ww);
  33.     do
  34.     {
  35.  
  36.     x = (GetRandom(0,700) -60);
  37.     y = (GetRandom(0,540) -60);
  38.  
  39.     if (counter>=0 && counter<500*2)            N_Sp_Put_Win(0x00000000,x,y);                //SP0 Normal overwrite
  40.     if (counter>=500*2 && counter<1000*2    )    N_Sp_Put_Win(0x00010000,x,y);                //SP0 H rev overwrite
  41.     if (counter>=1000*2 && counter<1500*2)    N_Sp_Put_Win(0x00020000,x,y);                    //SP0 V rev overwrite
  42.     if (counter>=1500*2 && counter<2000*2)    N_Sp_Put_Win(0x00030000,x,y);                    //SP0 HV rev overwrite
  43.  
  44.     if (counter>=2000*2 && counter<6000*2)    N_Sp_Put_Win(0x00000002,x,y);                    //SP2 Normal overwrite
  45.     if (counter>=6000*2 && counter<10000*2)    N_Sp_Put_Win(0x00010002,x,y);                    //SP2 H rev overwrite
  46.     if (counter>=10000*2 && counter<14000*2)    N_Sp_Put_Win(0x00020002,x,y);                //SP2 V rev overwrite
  47.     if (counter>=14000*2 && counter<18000*2)    N_Sp_Put_Win(0x00030002,x,y);                //SP2 HV rev overwrite
  48.  
  49.     if (counter>=18000*2 && counter<18500*2)    N_Sp_Put_Win(0x80000001,x,y);                //SP1 Normal overlap
  50.     if (counter>=18500*2 && counter<19000*2)    N_Sp_Put_Win(0x80010001,x,y);                //SP1 H rev overlap
  51.     if (counter>=19000*2 && counter<19500*2)    N_Sp_Put_Win(0x80020001,x,y);                //SP1 V rev overlap
  52.     if (counter>=19500*2 && counter<20000*2)    N_Sp_Put_Win(0x80030001,x,y);                //SP1 HV rev overlap
  53.  
  54.     if (counter>=20000*2 && counter<24000*2)    N_Sp_Put_Win(0x80000003,x,y);                //SP3 Normal overlap
  55.     if (counter>=24000*2 && counter<28000*2)    N_Sp_Put_Win(0x80010003,x,y);                //SP3 H rev overlap
  56.     if (counter>=28000*2 && counter<32000*2)    N_Sp_Put_Win(0x80020003,x,y);                //SP3 V rev overlap
  57.     if (counter>=32000*2 && counter<36000*2)    N_Sp_Put_Win(0x80030003,x,y);                //SP3 HV rev overlap
  58.  
  59.     if (counter>=72000) counter = 0;
  60.     counter++;
  61.  
  62.     }
  63.     while (!Button());
  64.     ShowMenuBar();
  65.     ShowCursor();
  66.     ColorRevert();
  67. }
  68.  
  69.