SDL & Object Pascal (Delphi) [2] ÏÔʾÖÐÎÄ×Ö·û
һЩ»ù´¡µÄÎÊÌâÎÒ²»ÔÙ׸ÊöÁË£¬²éÔİïÖúÎĵµ£¨Object Pascal SDL Doc.chm£©ÏÔÈ»±ÈÔÚÕâ¿´ÎÒºú³¶ºÏÊʵöࡣÄÇЩ»ÏñËØ£¬»ñÈ¡ÏñËØÐÅÏ¢£¬ÏÔʾBMPÎļþ¶àÊýʱºòÖ»Òª°ÑÄÇЩ´úÂë¸´ÖÆ¹ýÀ´»ù±¾¾ÍÄܹ¤×÷¡£ÏÂÃæËµµÄÊÇÔõÑùÏÔʾÖÐÎÄ¡£
ÆäʵSDL¼ÓÉÏttfÖ§³Öʱ£¨ÐèÒª½«¶ÔÓ¦µÄdllÎļþÌí¼Óµ½¹¤³ÌĿ¼ÀÊÇÍêÈ«¿ÉÒÔÏÔʾÖÐÎĵ쬼òÌåºÍ·±Ì嶼ûÎÊÌ⣨Object Pascal°æ±¾Ò²²»È±¹¦ÄÜ£©£¬µ«ÊÇÖ»ÄÜÓÃUnicode±àÂë¡£Õâ¾ÍÊÇ˵£¬Äã±ØÐëÑ¡ÔñÒ»¸öUnicode±àÂëÍêÕûµÄ×ÖÌåÎļþ£¨»òÕß˵ÖÁÉÙÄãÐèÒªµÄÄÇЩ×Ö·ûÊÇÍêÕûµÄ£©¡£WindowsÏÂÃæÕâÑùµÄ×ÖÌåÓкܶ࣬ÎÒÍÆ¼öµÄÓУº
¼òÌåÖÐÎÄ£ºËÎÌå´ó×Ö·û¼¯£¬Î¢ÈíÑźڣ»
·±ÌåÖÐÎÄ£ºÏ¸Ã÷Ì壬΢ÈíÕýºÚ£¬±ê¿¬Ìå¡£
ÕâЩ»ù±¾ÊÇÖÐÎĵØÇø×îÖØÒªµÄ¼¸ÖÖ×ÖÌå¡£Ò»¸öȱº¶¾ÍÊÇÓÃÓÚÏÔʾ¼òÌåÖÐÎĵĿ¬Ì壨ºÍÆäËû×ÖÌ壩ÓÅÐãµÄ²¢²»¶à¡£
Êä³öÖÐÎÄʱ£¬¿ÉÒÔÏÈдÕâÑùµÄÒ»¸ö×Ó³Ì×÷Ϊ»ù´¡£º
procedure DrawText(word: PUint16; x_pos, y_pos: integer; color: Uint32);
var
text: PSDL_Surface;
dest: TSDL_Rect;
begin
text := TTF_RenderUNICODE_blended(font, word, TSDL_Color(Color));
dest.x := x_pos;
dest.y := y_pos;
SDL_BlitSurface(text,nil, screen, @dest);
SDL_FreeSurface(text);
end;
screen¾ÍÊÇÒѾ¶¨ÒåºÃµÄÄǸöÖ÷ÆÁÄ»µÄ±ê¼Ç¡£fontÊÇÒ»¸öÖ¸Ïò×ÖÌåÎļþµÄÖ¸Õ룬¿ÉÒÔÕâÑù¶¨ÒåºÍ³õʼ»¯£º
È«¾Ö±äÁ¿£º
font: PTTF_Font;
ÔÚ³õʼ»¯×´Ì¬µÄ×Ó³ÌÖУº
TTF_Init;
font:=TTF_OpenFont('kaiu.ttf', 20);
µ±È»fontµÄ¶¨ÒåºÍ³õʼ»¯Ð´ÔÚDrawTextÀïÃæÒ²Ò»Ñù£¬Ö»ÊÇдÔÚÈ«¾Ö±äÁ¿ÀïÃæ¾Í¿ÉÒÔÖ»³õʼ»¯Ò»´Î£¬¿ÉÄÜ»áЧÂʸßһЩ¡£Í¬Ñù°ÑDrawTextÀïÃæÓõÄÄǸötextд³ÉÈ«¾Ö±äÁ¿Ò²ÊÇÒ»¸öÑ¡Ôñ¡£ÔÚ³ÌÐò½áÊøÊ±£¬»¹ÒªÊÍ·ÅÕâЩ×ÊÔ´¡£
kaiu¾ÍÊDZ꿬ÌåµÄÎļþÃû×Ö£¬20ÊÇ×ֺţ¬ÐèÒª°Ñ×ÖÌåÎļþÒ²·ÅÔÚ¹¤³ÌĿ¼ÀïÃæ¡£
TTF_RenderUNICODE_blendedÕâ¸öº¯ÊýÊÇÒÔblendedЧ¹ûÊä³öÎÄ×Ö£¬ÒÔTTF_RenderUNICODE¿ªÍ·µÄº¯ÊýÓÐ3¸ö£¬¶ÔÓ¦µÄÊDz»Í¬µÄЧ¹û¡£
SDL_BlitSurface´óÖ¿ÉÒÔÀí½âΪÔÚ“±íÃæ”ÉÏÔÙÌùÒ»²ã¡£
µ÷ÓÃDrawTextµÄ·½·¨ÈçÏ£º
str: WideString;
......
str:=' ÕâÊÇÒ»¸öÏÔʾÖÐÎĵIJâÊÔ';
DrawText(@str[1], 100, 100, $FFFFFF);
Sdl_UpdateRect(screen, 0, 0, screen.w, screen.h);
×¢ÒâÒ»¶¨ÒªÓÃWideString£¨»òPWideChar£©ÀàÐÍ£¡
strÇ°ÃæÎÒÌí¼ÓÁËÒ»¸ö¿Õ¸ñ¡£ÕâÊÇÒòΪÎÒ·¢ÏÖÓÐЩ×ÖÌåÖе
Ïà¹ØÎĵµ£º
Chr ½«Ò»¸öÓÐÐòÊý¾Ýת»»ÎªÒ»¸öANSI×Ö·û
Ord ½«Ò»¸öÓÐÐòÀàÐÍֵת»»ÎªËüµÄÐòºÅ
Round ת»»Ò»¸öʵÐÍֵΪËÄÉáÎåÈëºóµÄÕûÐÍÖµ
Trunc ת»»Ò»¸öʵÐÍֵΪСÊý½Ø¶ÏºóµÄÕûÐÍÖµ
Int ·µ»Ø¸¡µãÊýµÄÕûÊý²¿·Ö
IntToStr ½«Êýֵת»»Îª×Ö·û´ ......
Delphi¼üÅ̰´¼üαÂë
Ó÷¨£ºif key = chr(VK_RETURN) then...
³£ÊýÃû³Æ Ê®Áù½øÖÆÖµ Ê®½øÖÆÖµ ¶ÔÓ¦°´¼ü
VK_LBUTTON 01 1 Êó±êµÄ×ó¼ü
VK_RBUTTON 02 2 Êó±êµÄÓÒ¼ü
VK-CANCEL 03 3 Contol-break Ö´ÐÐ
VK_MBUTTON 04 4 Êó±êµÄÖмü£¨Èý°´¼üÊó±ê)
VK_BACK 08 8 Backspace¼ü
VK_TAB 09 9 Tab¼ü
VK_CLEAR 0C 12 Clear¼ü
VK ......
ÓÐЩʱºò,ҪдһЩ³ÌÐò,ÔÚ JAVA ÀïÃæºÃÄÑʵÏÖ, µ«Èç¹ûʹÓÃÆäËü±à³ÌÓïÑÔÈ´ÓֱȽÏÈÝÒ×ʱ,ÎÒÃDz»·Áͨ¹ý JNI À´Èò»Í¬ÓïÑԵijÌÐò¹²Í¬Íê³É.
JNI µÄ½Ì³Ì, ÍøÉÏ C µÄ±È½Ï¶à,Java Ò²ÌṩÁË javah.exe Ϊ C ÓïÑ﵀ JNI ³ÌÐòÉú³ÉÍ·Îļþ, Èç¹ûÄãÊÇÒ»¸ö Delphi ±à³ÌÔ±, ÄÜ·ñÈà JAVA Óë Delphi ³ÌÐò½»»¥ÄØ? ´ð°¸Êǿ϶¨µÄ,½ñÌìÎÒÃǾÍÀ´ ......
×¢²áÂ룺6amd-pdj686-apme9d-9cdr
Ãܳףºyvx-27c
Delphi²¿·Öº¯Êý¡¢ÃüÁî¡¢ÊôÐÔÖÐÎÄ˵Ã÷
Abort º¯Êý ÒýÆð·ÅÆúµÄÒâÍâ´¦Àí
Abs º¯Êý ¾ø¶ÔÖµº¯Êý
AddExitProc º¯Êý ½«Ò»¹ý³ÌÌí¼Óµ½ÔËÐÐʱ¿âµÄ½áÊø¹ý³Ì±íÖÐ
Addr º¯Êý ·µ»ØÖ¸¶¨¶ÔÏóµÄµØÖ·
AdjustLineBreaks º¯Êý ½«¸ø¶¨×Ö·û´®µÄÐзָô·ûµ÷ÕûΪCR/LFÐòÁÐ
Align ÊôÐÔ Ê¹¿Ø¼þÎ ......
ʵ¼ÊÉÏÕâ¸öÃû×Ö½Ð[SDL & Delphi]Ò²²»³ÉÎÊÌ⣬ ÒòΪ³ýÁËDelphiËÆºõҲûÓÐÄĸöÁ÷ÐеĿª·¢¹¤¾ßÓõÄÊÇPascalÓïÑÔ¡£
SDLÆäʵÎÒҲֻѧÁ˲»µ½Á½ÐÇÆÚ¶øÒÑ¡£¸Õ¿ªÊ¼ÎÒÏëÊÔͼÓÃVC£¬ÒòΪÕâÑù×ÊÁÏ×îÈ«£¬Ò²ºÜºÃÕÒ£¬µ«Ì«¾ÃûÓÃVCÏÖÔÚ¿´CµÄ´úÂëÓеãÀ§ÄÑ£¨->Õâ¸öËã·ûÊǸÉÂðµÄÀ´×Å……£©¡£Æäʵ×÷Ϊһ¸öרҵ²»ÊǼÆËã»úµÄÈË ......