الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف نعمل Fade-in / Fade-out

بدأه fouad2008 في 12 سبتمبر 2008 · 3 رد · 1,292 مشاهدة · في OpenGL
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

كيف السبيل الى جعل الشاشة او الاطار يتغير بالتدريج من اللون الاسود الى .. الشفافية او العكس . طبعا هو تأثير معروف في الالعاب .

اعتقد نظريا انه عبارة عن مربع شفاف يعم كل الشاشة و بتغيير قيمة alphaالموجودة في الدالة ( glColor4f(r,g,b,alpha

يتغير السطح تدريجيا الى الاسود او الى الشفافية التامة

لكن لم استطع حل هذا عمليا

هل هناك احد جرب عمل هذا الشىء ؟

وشكرا

#2

وجدت الحل . لكن يحتاج الى بعض optimization

fade_in_out.rar

#3

السلام عليكم .

الطريقة التي أعرفها هي التي تفضلت بها ..

استخدام ال Blending .. وبالتحديد الشفافية alpha .

fade_in = 255;
while(..)
{
if(fade_in>0)
fade_in = fade_in - 1; 
glColor4ub(255,255,255,fade_in);
// draw here 
}

لكن مثل ما تفضلت وقلت ,, الامر يحتاج الى optimization .. ويحتاج الى توقيت دقيق .. حتى تكون سرعة fade in ثابتة ..

سأنظر للملف المرفق , ,

شكرا لك ..

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#4

شكرا على مرورك اخي الشمري .

لكن للتوضيح فقط ان قيمة alpha في الدالة glColor4f تكون محصورة بين صفر و واحد على عكس الديركت اكس تكون من الصفر الى 255

مواضيع مشابهة