أولا أخي لا علاقة للدينامك لايت بالظل المتحرك ...
الـ Action هو نفسه الـ Function ولكن فرق واحد الآكشن يستدعى في الـ Wed ( مصمم المراحل ) والـ Function يستدعى في البرمجة ... ويمكنك أيضا أن تستدعي الآكشن في البرمجة .. لا فرق من ناحية الأداء عدا الإستمرارية حيث أن الـ Function لن يتأثر بوجود مجسم أو زواله بعكس الآكشن الذي حينما تربطه بمجسم ما كاللاعب مثلاً فعندما يموت اللاعب ينقضي مفعول الآكشن .
(current_level متغير وضعته لك لك يحفظ المرحلة التي هو فيها) مادمت كما تقول من ناحية البرمجة فلن تفيدك حيث أنها ليس لها تأثير إلا إذا أردت صناعة أوامر أخرى تحتاج فيها أن تعرف هو في أي مرحلة كإظهار خريطة مرحلة ما مثلاً .
هي ليست main function وإنما Function Main حين تنشئ أي برمجة جديدة من الـ Map Proerties في مصمم المراحل ستلاحظ تكون سطر :
function main()
تسدتعي الأمر Inturruption عن طريق أنك تضيف السطر التالي لآخر برمجة الـ Function Main .. تلاحظ أن بعد الـ Function Main يفتح لك قوس تضيف السطر قبل أن يغلق القوس :
Inturruption();
فقط !! .
- يجب أن تتعمق قليلا على الأقل تعرف كيف تتحكم بالبرمجة التي لديك -
أنا فاهم قصدك من ناحية كثرة التفاصيل ولكنك لم تذكر المشكلة التي سببتها لك كثرة التفاصيل .
capc_shadow أعتقد أنك سمعت هذا أو ربما قرأته في مكان ما على كل هو ليس أمر في الغيم ستوديو ولم أسمع به ولكن أعتقد أنه أمر عرّفه الشخص الذي قرأت له ..
- حيث يمكنك أنت أن تعرّف عن طريق البرمجة أوامرك الخاصة - .
وبالنسبة للأسئلة التي لم أجب عليها يبدوا أنك أضفتها مؤخراً - أي وأنا أكتب الرد كنت أنت تعدل !! -
حسنا هذه فكرة الإضاءة التي تريدها - برمجة كاملة لكشاف - :
بالنسبة للظلال الثابتة يمكنك ذلك عن طريق إضافة السطر التالي :
my.shadow=off;
طبعا لجسم محدد .
بالنسبة لجلب الصور من الماكس راجع موقع الشركة في صفحة التحميل ستجد plugin خاص بذلك مع شرح كامل .
تحياتي .
الـ Action هو نفسه الـ Function ولكن فرق واحد الآكشن يستدعى في الـ Wed ( مصمم المراحل ) والـ Function يستدعى في البرمجة ... ويمكنك أيضا أن تستدعي الآكشن في البرمجة .. لا فرق من ناحية الأداء عدا الإستمرارية حيث أن الـ Function لن يتأثر بوجود مجسم أو زواله بعكس الآكشن الذي حينما تربطه بمجسم ما كاللاعب مثلاً فعندما يموت اللاعب ينقضي مفعول الآكشن .
(current_level متغير وضعته لك لك يحفظ المرحلة التي هو فيها) مادمت كما تقول من ناحية البرمجة فلن تفيدك حيث أنها ليس لها تأثير إلا إذا أردت صناعة أوامر أخرى تحتاج فيها أن تعرف هو في أي مرحلة كإظهار خريطة مرحلة ما مثلاً .
هي ليست main function وإنما Function Main حين تنشئ أي برمجة جديدة من الـ Map Proerties في مصمم المراحل ستلاحظ تكون سطر :
function main()
تسدتعي الأمر Inturruption عن طريق أنك تضيف السطر التالي لآخر برمجة الـ Function Main .. تلاحظ أن بعد الـ Function Main يفتح لك قوس تضيف السطر قبل أن يغلق القوس :
Inturruption();
فقط !! .
- يجب أن تتعمق قليلا على الأقل تعرف كيف تتحكم بالبرمجة التي لديك -
أنا فاهم قصدك من ناحية كثرة التفاصيل ولكنك لم تذكر المشكلة التي سببتها لك كثرة التفاصيل .
capc_shadow أعتقد أنك سمعت هذا أو ربما قرأته في مكان ما على كل هو ليس أمر في الغيم ستوديو ولم أسمع به ولكن أعتقد أنه أمر عرّفه الشخص الذي قرأت له ..
- حيث يمكنك أنت أن تعرّف عن طريق البرمجة أوامرك الخاصة - .
وبالنسبة للأسئلة التي لم أجب عليها يبدوا أنك أضفتها مؤخراً - أي وأنا أكتب الرد كنت أنت تعدل !! -
حسنا هذه فكرة الإضاءة التي تريدها - برمجة كاملة لكشاف - :
كود PHP:
//////////////////////////////////////////////////
////////////////////FLASH LIGHT///////////////////
var max_dist = 10000;
var energy = 600;
var battery = 500;
var fl_on=0;
//////////////////////////////////////////////////
sound bat_pick=<wham.wav>;
bmap gotbat=<got_bat.pcx>;
//////////////////////////////////////////////////
panel got_bat
{
bmap gotbat;
layer=56;
pos_x=250;
pos_y=200;
flags=refresh;
}
//////////////////////////////////////////////////
action battery_pickup
{
my.passable = on;
while (player == null) {wait (1);}
while (vec_dist (player.x, my.x) > 40) {wait (1);}
energy += battery;
play_entsound(my,bat_pick,100);
got_bat.visible=on;
ent_remove (me);
wait(150);
got_bat.visible=off;
}
//////////////////////////////////////////////////
action flashlight_pickup
{
while (player == null) {wait (1);}
my.passable = on;
while (vec_dist (player.x, my.x) > 100) {wait (1);}
my.invisible = on;
my.lightred = 250;
my.lightgreen = 250;
my.lightblue = 170;
while (1)
{
if(key_f==1)
{
wait(10);
while (energy > 0 &&key_enter!=1)
{
my.lightrange = 350;
temp.x = max_dist * cos(player.pan) * cos(camera.tilt) + player.x;
temp.y = max_dist * sin(player.pan) * cos(camera.tilt) + player.y;
temp.z = max_dist * sin(camera.tilt) + player.z;
trace_mode = ignore_models + use_box;
my.skill1 = trace (player.x, temp);
if (my.skill1 != 0)
{
temp.x = (my.skill1 - 30) * cos(player.pan) * cos(camera.tilt) + player.x;
temp.y = (my.skill1 - 30) * sin(player.pan) * cos(camera.tilt) + player.y;
temp.z = (my.skill1 - 30) * sin(camera.tilt) + player.z;
vec_set (my.pos, temp);
}
energy -= 0.5 * time;
wait (1);
}
wait(1);
}
my.lightrange = 0;
wait (1);
}
}
//////////////////////////////////////////////////
//////////////////////////////////////////////////
بالنسبة للظلال الثابتة يمكنك ذلك عن طريق إضافة السطر التالي :
my.shadow=off;
طبعا لجسم محدد .
بالنسبة لجلب الصور من الماكس راجع موقع الشركة في صفحة التحميل ستجد plugin خاص بذلك مع شرح كامل .
تحياتي .
تعليق