دیگران کاشتند ما خوردیم ما می کاریم دیگران بخورند.

۱۳۸۷ دی ۲۰, جمعه

Panels

همه بازی ها نیاز به Panel دارند! اگه می خواهید در بازی از menu ها دکمه ها Slider ها و... استفاده کنید باید از panel استفاده کنید. panel یه Bitmap مستطیلی هست که روی صفحه قرار می گیرد.

قبل از اینکه شروع کنیم یه چند تا مثال از panel ببینیم.











خوب ما با Panel چی می تونیم بسازیم؟ منظورم (Graphic user interface) یا GUI هست.
  1. panel های معمولی که یک عکس هست که روی صفحه نمایش داده میشه.
  2. Digits که یکی از عناصر Panel هست باسه نمایش نوشته یا عدد هست.
  3. Windows باسه درست کردن نوار جون یا قطب نما مناسب هستش.
  4. Button که معلومه. میشه روش کیلیک کرد تا یه تابع اجرا بشه.
  5. Slider که باکشیدن اوون می تونید یه مقدار متغییر رو کم و زیاد کنید.
  6. Needles که باسه ساختن عقربه ساعت یا سرعت سنج خیلی خوبه

فکنم فهمیدید که چقدر این panel باسه بازی لازم و مفید والبته دلچسبه!
یه کد ساده باسه panel :

////////////////////////////////////////////////////////////////////
#include <acknex.h>
#include <default.c>

////////////////////////////////////////////////////////////////////

BMAP first_pcx = "first.pcx"; // my first bmap
PANEL first_pan = // my first panel
{
pos_x = 0;
pos_y = 0;
layer = 1;
bmap = first_pcx;
flags = OVERLAY ¦ VISIBLE;
}


/////////////////////////////////////////////////////////////////////

function main()
{
video_mode = 7;
screen_color.blue = 150;
}

وقتی کد بالا رو اجرا کنیم.





این پنل خیلی قشنگ که روصفحه می بینید فایل bitmap اون این شکلی بوده









پس نقاط مشکی اضافه چی شده؟؟

خود Game Studio نقاطی که رنگ آنها

RGB(0,0,0)

با شد نامرئی می کند واگر ما بخواهیم نقاطی با رنگ مشکی ولی مرئی داشته باشیم تمامی مقادیر بجوز یکی از آنها مثلا قرمز را یک بدیم اون وقت دیگه اون نقاط با اینکه مشکی دیده می شه ولی نامرئی نمی شه!

حالا چجوری می گیم که این نقاط رو نامرئی بکنه ؟

با set کردن مقدار OVERLAY برای flag آن Panel باعث نامرئی شدن آن نقاط برای آن Bitmap ای که برای Panel معرفی کردیم می شود.

اگر بخواهیم چند flag را باهم مقدار دهی کنیم آن ها را با هم or می کنیم مثل:

flags = OVERLAY ¦ VISIBLE;

panel1.flags ¦= VISIBLE;

واگر بخواهیم یکی از آن ها را برداریم:

Panel1.flags &= OVERLAY;

مقدار Layer برای این است که ترتیب نمایش Panel ها را مشخص می کند وpanel هایی که مقدار Layer بیشتری دارند روی بقیه قرار می گیرند.


مقدار pos_x برای موقیت نمایش panel در راستای عمودی است.

مقدار pos_y برای موقیت نمایش panel در راستای افقی است.

Download

هیچ نظری موجود نیست: