;初始化Sprite以及Keyboard If InitSprite() = 0 Or InitKeyboard() = 0 MessageRequester("Error", "Can't open DirectX 7 or later", 0) End EndIf
;打开一个640*480*16的屏幕,标题为Sprite If OpenScreen(640, 480, 16, "Sprite")
; Load our 16 bit sprite (which is a 24 bit picture in fact, as BMP doesn't support 16 bit format) ;加载一个图片,实际上是24位图片,BMP不支持16位 LoadSprite(0, "Data\PureBasic.bmp", 0) ;复制一个与0一样的Sprite CopySprite(0,1,0) ; Draw some red line on our sprite ;在精灵上面绘制一些红色线条 If StartDrawing(SpriteOutput(1)) ;设置前景色为红色 FrontColor(RGB(255, 0, 0)) For k = 0 To SpriteHeight(1) Step 2 Line(0, k, SpriteWidth(1), 0) Next StopDrawing() EndIf
Repeat ; Inverse the buffers (the back become the front (visible)... And we can do the rendering on the back) ;页面翻转 FlipBuffers() ;清除屏幕 ClearScreen(RGB(0,0,0)) ; Draw our sprite ;剪辑精灵,也就是自定义精灵大小,以裁剪方式? ClipSprite(0, 0, 0, x, x/8) ;显示精灵 DisplaySprite(0, x, 100) DisplaySprite(1, x, x) DisplaySprite(0, 600-x, x) x+1 ;更新键盘状态 ExamineKeyboard() Until x > 500 Or KeyboardPushed(#PB_Key_Escape) ;按键 Else MessageRequester("Error", "Can't open a 640*480 - 16 bit screen !", 0) EndIf
End
|