今天要介绍的是ptc库。shy用的是fp3.0.2,其实好像2.6.4就有这个库了。
以console为窗口,surface为缓存,我们可以绘制一系列事物;并且由于是OpenGL和DirectX为基础的,绘制效率有了保证(至少比graph或gdi好吧)。
初始化:
console:=TPTCConsoleFactory.CreateNew;
format:=TPTCFormatFactory.CreateNew(32,$FF0000,$FF00,$FF);
console.option('windowed output');//这边是窗口化,不然他可能是全屏的哦
console.open();
surface:=TPTCSurfaceFactory.CreateNew();
绘制:
_pointer:=surface.lock;//锁定了,返回了RGBA的指针,可以直接在上面修改
//巴拉巴拉小魔仙全身变!这里对指针画一堆
surface.unlock;//解锁
surface.copy(console);
console.update;//要加上这些才可以显示到窗口上
那么,回到2048上来。有了这个,shy在上次std2048的基础上新编写了std2048_ptc库。有了这个库,可以直接界面化模拟2048,当然也可以直接做成游戏了。如果你能做出更好的欢迎回复。
比如做个随机上下左右的就只要写:
uses std2048,std2048_ptc,ptc;
begin
std2048Init;
while Game do DisPlayProc(random(4)+1)
end.
Power by shyakocat