//Press <CTRL-t>. /* Graphics Not Rendered in HTML */ //The sprite was created with <CTRL-r>. U0 ElephantWalk() { I64 sc, x=Fs->pix_width>>1,y=Fs->pix_height>>1, //Fs is current CTask struct. x_last=x; AutoComplete; WinBorder; WinMax; DocClear; while (TRUE) { DCFill; if (x>x_last) { DCSymmetrySet(,x,y,x,y-1); gr.dc->flags|=DCF_SYMMETRY|DCF_JUST_MIRROR; } else gr.dc->flags&=~(DCF_SYMMETRY|DCF_JUST_MIRROR); x_last=x; Sprite3ZB(gr.dc,x,y,0,<1>,Sin(8*tS)/4);//Use <CTRL-r> "Ptr to Sprite" switch (GetKey(&sc)) { case 0: switch (sc.u8[0]) {//Scan code lowest byte case SC_CURSOR_UP: y-=32; if (y<0) y=Fs->pix_height; break; case SC_CURSOR_DOWN: y+=32; if (y>Fs->pix_height) y=0; break; case SC_CURSOR_LEFT: x-=32; if (x<0) x=Fs->pix_width; break; case SC_CURSOR_RIGHT: x+=32; if (x>Fs->pix_width) x=0; break; } break; case CH_ESC: case CH_SHIFT_ESC: goto ew_done; } } ew_done: DCFill; } ElephantWalk;