ErrorMsg
18-05-2003, 11:57 AM
كلما حاولت أن أكتب شيء ظهر بطريقة مقلوبة أرجو من القائمين على المنتدى تفعيل زر code الي الزر تبعه عليه # مثلا عند وضع
#include "allegro.h"
تظهر مقلوبة أرجو من القائمين جعل اتجاه الكود من اليسار لليمين
include "allegro.h"بشكل مؤقت لن أكتب # قبل include أضفها أنت
وسأكتب comment بعد كل أمر حتى يظهر بشكل صحيح
سأشرح في هذا الدرس تركيب أي برنامج مكتوب على allegro
لا تفزع من كثرة الأسطر لأنها ستتكرر في كل برنامج بمعنا أنك فقط رح تعمل copy + paste
يبدأ البرنامج ب
include "allegro.h" // this is the lib header
ثم يأتي ال main على الشكل الآتي
int main(int argc,char *argv[]) //the main function
ثم الحاصرتين {} وبينهما البرنامج
ثم في نهاية نضيف بعض من سحر allegro
END_OF_MAIN(); // this is a trik
هنا يكمن جمال هذه المكتبة بحيث أ، هذا الذي أضفناه في الأخير يحول main إلى بعض خزعبلات windows مثلا winmain في بعض الكمبايلرات وفي بعضها الآخر main بحيث يضمن أن برنامجك سيعمل
----------------------------
داخل الحاصرتين اكتب الآتي قبل كل شيء
allegro_init(); // start
ثم نختار عدد الألوان الذي نريد
set_color_depth(8); // 256 colors
أو
set_color_depth(16); // 16-bit colors
ثم نحجز شاشة رسومية بالأمر
set_gfx_mode(GFX_AUTODETECT_FULLSCREEN , 320, 200, 0, 0); // hmm
أو
set_gfx_mode(GFX_SAFE , 320, 200, 0, 0); // hmm
الأولى تحجز شاشة على fullscreen والثاني fullscreen أو عادي بس آمن يعني دايما تعمل
طبعا ليس كل الكروت تدعم كل ال resulutions لذلك يجب أن نفحص هل ذلك جائز أي يصبح الكود
// now try full secreen with acceleration
if (set_gfx_mode(GFX_AUTODETECT_FULLSCREEN , 320, 200, 0, 0) != 0) // test
{
// if fail try safe (may be windowed mode)
if (set_gfx_mode(GFX_SAFE , 320, 200, 0, 0) != 0)
{
// if fail return to text mode and exit
set_gfx_mode(GFX_TEXT, 0, 0, 0, 0);
// the format of allegro_message is like printf
allegro_message("Unable to set any graphic mode\n%s\n", allegro_error);
exit(1);
}
}
لم تنجح معي أن أجعلها تبدو صحيحة لذا أنظر الملف المرفق g_main.cpp في init_graph()
طبعا تستطيع استبدال 320 و 200 ب 640 و 480 او أي شي آخر
----------------------------------
مذا لدينا الآن ؟
شاشة رسومية , نستطيع الآن نعطي الأوامر التي ترسم
--------------------
سأكمل فيما بعد ...
انظر ال demo (http://retrospec.sgn.net/allegro/alleg.4020.examples.demo.x86.zip)
-------------------------------------------------------------------------
#include "allegro.h"
تظهر مقلوبة أرجو من القائمين جعل اتجاه الكود من اليسار لليمين
include "allegro.h"بشكل مؤقت لن أكتب # قبل include أضفها أنت
وسأكتب comment بعد كل أمر حتى يظهر بشكل صحيح
سأشرح في هذا الدرس تركيب أي برنامج مكتوب على allegro
لا تفزع من كثرة الأسطر لأنها ستتكرر في كل برنامج بمعنا أنك فقط رح تعمل copy + paste
يبدأ البرنامج ب
include "allegro.h" // this is the lib header
ثم يأتي ال main على الشكل الآتي
int main(int argc,char *argv[]) //the main function
ثم الحاصرتين {} وبينهما البرنامج
ثم في نهاية نضيف بعض من سحر allegro
END_OF_MAIN(); // this is a trik
هنا يكمن جمال هذه المكتبة بحيث أ، هذا الذي أضفناه في الأخير يحول main إلى بعض خزعبلات windows مثلا winmain في بعض الكمبايلرات وفي بعضها الآخر main بحيث يضمن أن برنامجك سيعمل
----------------------------
داخل الحاصرتين اكتب الآتي قبل كل شيء
allegro_init(); // start
ثم نختار عدد الألوان الذي نريد
set_color_depth(8); // 256 colors
أو
set_color_depth(16); // 16-bit colors
ثم نحجز شاشة رسومية بالأمر
set_gfx_mode(GFX_AUTODETECT_FULLSCREEN , 320, 200, 0, 0); // hmm
أو
set_gfx_mode(GFX_SAFE , 320, 200, 0, 0); // hmm
الأولى تحجز شاشة على fullscreen والثاني fullscreen أو عادي بس آمن يعني دايما تعمل
طبعا ليس كل الكروت تدعم كل ال resulutions لذلك يجب أن نفحص هل ذلك جائز أي يصبح الكود
// now try full secreen with acceleration
if (set_gfx_mode(GFX_AUTODETECT_FULLSCREEN , 320, 200, 0, 0) != 0) // test
{
// if fail try safe (may be windowed mode)
if (set_gfx_mode(GFX_SAFE , 320, 200, 0, 0) != 0)
{
// if fail return to text mode and exit
set_gfx_mode(GFX_TEXT, 0, 0, 0, 0);
// the format of allegro_message is like printf
allegro_message("Unable to set any graphic mode\n%s\n", allegro_error);
exit(1);
}
}
لم تنجح معي أن أجعلها تبدو صحيحة لذا أنظر الملف المرفق g_main.cpp في init_graph()
طبعا تستطيع استبدال 320 و 200 ب 640 و 480 او أي شي آخر
----------------------------------
مذا لدينا الآن ؟
شاشة رسومية , نستطيع الآن نعطي الأوامر التي ترسم
--------------------
سأكمل فيما بعد ...
انظر ال demo (http://retrospec.sgn.net/allegro/alleg.4020.examples.demo.x86.zip)
-------------------------------------------------------------------------