کدهای آماده لینگو

smmousazadeh

Well-Known Member
با تشکر از Mohammad.sub7:rose:
با اجازه من یه سری توضیحات کلی در مورد برنامه نویسی میدم.
توی دایرکتور برنامه نویسی براساس شماره لایه ای که شی در اون هست نوشته میشه مثلا وقتی می نویسیم
PHP:
sprite(1).currentTime = 0
یعنی این کد برای شی که در لایه شماره 1 است اعمال می شود و اگر در زمان فراخوانی این کد، در لایه 1 آبجکتی و شی نباشد یا این کد برای آن نوشته نشده باشد ( مثلا شی 1 currentTime نداشته باشد ) در زمان اجرا خطا می دهد.

شماره لایه ( کانال ) برای صوتها نیز صادق است یعنی برای اجرای چند صوت باید انها را در لایه های مختلف بگذاریم که در کدهای بالا نمونه آن هست . برای کدنویسی روی صوت نیز کدنویسی بر اساس شماره کانال صوت است.
 

smmousazadeh

Well-Known Member
و اما بعد :
مدلهای کد نویسی در دایرکتور :
1- کد نویسی در فریمها 2- کدنویسی بر روی آبجکتها
این 2 مدل بیشترین موارد استفاده در کدنویسی دایرکتور رو دارن و از باقی حالات رایج تر هستن.

از کدنویسی در فریمها ، زمانی که ما میخواهیم در فریم خاصی یک اتفاق بیفتد ،استفاده می کنیم مثل :
PHP:
on exitframe me
go the frame
end

ولی در کدنویسی روی اشیا معمولا زمانی که اتفاق خاصی برای یک شی رخ بدهد ( موس روی آن برود، موس روی آن فشرده شود ...... که به آن Event می گویند) استفاده میشود.

معرفی event ها :

PHP:
mouseUp 
mouseDown 
mouseEnter 
mouseWithin 
mouseLeave 
keyUp 
keyDown 
rightMouseUp 
rightMouseDown 
prepareFrame 
exitFrame 
beginSprite 
endSprite

که با توجه به کاری که مد نظر ماست از انها استفاده می کنیم. با توجه به نام اسامی فکر نکنم خیلی توضیح بخوان، ولی اگر کسی از دوستان سوالی داره بپرسه
 

smmousazadeh

Well-Known Member
خصوصیات اشیاء :
وقتی میخواهیم با کدنویسی خصوصیات اشیا را تغییر دهیم باید آن خصوصیات را بشناسیم و متغیرهایی که آنها را نگه داری میکنند را هم بشناسیم . قبل از مشخص کردن متغیرها و معرفی این خصوصیات ابتدا باید در مورد بعضی از آنها توضیحاتی را بدهیم :

regPoint :
به نقطه ای از شکل اطلاق میشود که ما آن را به عنوان مرکز ثقل آبجت معرفی میکنیم . این مرکز ثقل در هنگام چرخشها و جا بجایی ها تاثیر گذار است. مثلا اگر بخواهیم یک شی ( مثل عقربه ساعت) از ته بچرخد باید regpoint را در انتهای شکل قرار بدهیم. برای تغییر این نقطه می توانید در محیط ادیت Bitmap یا vector در داخل دایرکتور از ابزاری که شکل نشانه گیری است ( G ) استفاده کنید.

blend:
میزان شفافیت و ترکیب رنگی ابجکت با آبجکتهای زیرین را مشخص می کند. وقتی 100 باشد ابجکت 100 و کامل نشان داده می شود و اگر 0 باشد کلا نشان داده نمی شود. مقدارش می تواند بین 0 تا 100 باشد. برای دوستانی که فوتوشاپ کار کرده اند همانند opacity و در فلش همان Alpha است.

Ink :
نحوه نمایش شکل در صفحه و تاثیر گرفتن از ابجکتهای زیرین را مشخص می کند.این حالت در فوتوشاپ هم هست که می توان شکلی را normal,disssolve.reverse......نمایش داد.


معرفی متغیرها:
locH : برای نگهداری فاصله افقی محل regpoint شی، از گوشه بالا سمت راست stage است که همان x میباشد
locV : برای نگهداری فاصله عمودی محل regpoint شی، از گوشه بالا سمت راست stage است که همان y میباشد
width : طول شی
height : ارتفاع شکل
rotation : میزان چرخش . چرخیدن حول مرکزیت rogpoint است.
skew : میزان خمیدگی
flipH :حالت آینه ای در راستای افقی، که با true یا false مقدار میگیرد
flipV :حالت آینه ای در راستای عمودی، که با true یا false مقدار میگیرد
blend : میزان نمایش و ترکیب شی با عناصر زیر خودش. بین 0 تا 100 مقدار میگیرد.
backcolor و forecolor : رنگ زمینه و رنگ خود شی را نشان می دهند . در عناصر vector و برای ساخت برنامه هایی مثل نقاشی کاربرد دارد.
member : شماره خانه یا اسم شی در cast را نگهداری میکند.برای جابجا کردن شی با شی دیگر از cast یا اجرا کردن صوت از cast و .... کاربرد دارد.( مثال آقای mohammad.sub7 در مورد اجرای چند صوت با هم )
moveable : اجازه درگ شدن توسط موس در زمان اجرا، که با true یا false مقدار می گیرد.

..... خسته شدم.باقیش بعد
 

smmousazadeh

Well-Known Member
یکی از پنجره های مربوط به کد نویسی که من به دوستان توصیه میکنم حتما یکبار بهش سر بزنن و توش دقت کنن ، پنجره Library Palette در کنار دکمه Properties و به شکل یک کتاب باز است.
در این پنجره یک سری تابع آماده در دسته بندی مشخص ( با توجه به نوع عملکرد) قرار دارد که کار دوستان رو برای بعضی از کدنویسی ها راحت میکنه

توابعی مثل عوض شدن کرسر یا شکل شی وقتی موس روش میره یا توابع قسمت صوتش میتونه پر کاربرد باشه . کلا قسمت Animation ش مفیده.

از هرکدام از توابعش که استفاده کردید، اون تابع رو اخل Cast میبره که برای استفاده های بعدی می تونید از همون دوباره استفاده کنید.
 

hossein50099

New Member
سلام این لینگو در ساخت یه پازل استفاده شده میشه بگید منظورش چیه
معنی لینگو زیر چیست

global c,e
on exitFrame me
c=0
e=0
end
 
آخرین ویرایش:

َAmateur

New Member
سلام این لینگو در ساخت یه پازل استفاده شده میشه بگید منظورش چیه
معنی لینگو زیر چیست

global c,e
on exitFrame me
c=0
e=0
end
---------------------------------------------------------------------------------------------------------------------------
حسین عزیز این چند خط کد ربطی به کد پازل نداره و فقط میگه که متعیره های C و E در اون فریم که این کد داخلشه برابر صفر باشه (احتمالا شروع پازل)، برای ساخت پازل میتونید این آموزش رو ببینید و فایل دایرکتور نمونه رو دانلود کنید، در این آموزش هر تصویری رو که به برنامه معرفی میکنید بصورت پازل در می آید:
http://www.director-online.com/buildArticle.php?id=1127
موفق باشید.
 

hossein50099

New Member
global x1,y1,c,e
on mouseDown me
csn=the currentspritenum
x1=sprite(csn).loch
y1=sprite(csn).locv
end
on mouseUp me
csn=the currentspritenum
if sprite(csn).intersects(csn+12) then
sprite(csn).loc=sprite(csn+12).loc
e=e+1
if e=12 then
go frame 90
end if
else
c=c+1
if c=4 then
alert ("You had more than 3 wrong,Please try again")
go frame 1
end if
sprite(csn).loc=point(x1,y1)
end if
end
سلام میشه بگید این لینکو که برای یه قطعه پازل نوشته شده برای چیست؟
 
global x1,y1,c,e
on mouseDown me
csn=the currentspritenum
x1=sprite(csn).loch
y1=sprite(csn).locv
end
on mouseUp me
csn=the currentspritenum
if sprite(csn).intersects(csn+12) then
sprite(csn).loc=sprite(csn+12).loc
e=e+1
if e=12 then
go frame 90
end if
else
c=c+1
if c=4 then
alert ("You had more than 3 wrong,Please try again")
go frame 1
end if
sprite(csn).loc=point(x1,y1)
end if
end
سلام میشه بگید این لینکو که برای یه قطعه پازل نوشته شده برای چیست؟

دوست عزیز از این کد میشه در ساخت پازل استفاده کرد
قطعات پازل را باید به صورت Drag & Drop در جای خودشون قرار داد
این کد برای قطعات اسپرایت جاری و اسپرایت جاری + 12 هستش که اگر بخوای واسه یک پازل کامل ازش استفاده کنی باید یکم دستکاریش کنی

موفق باش
 

hossein50099

New Member
سلام برهمه عزیزان
یه سوال درام اگه میشه بگید این سه لینکو زیر که نوشتم لینکوهای اماده در دایرکتور هستند یا باید انها راخودمان دستی برنامه نویسی کنیم، اگه اماده هستند لطفا بگید از کجای دایرکتور میشه بهشون دسترسی پیدا کرد لطفا مسیر دسترسی ان را بنویسید.
من این لینکو ها را از یه جا کپی کردم و نمیدانم از کجا امده اندوچون باید پروژه را ارائه بدم باید مسیر دسترسی به انها را بدانم.
ممنون و متشکر
لینکو اول
global x1,y1,c,e
on mouseDown me
csn=the currentspritenum
x1=sprite(csn).loch
y1=sprite(csn).locv
end
on mouseUp me
csn=the currentspritenum
if sprite(csn).intersects(csn+12) then
sprite(csn).loc=sprite(csn+12).loc
e=e+1
if e=12 then
go frame 90
end if
else
c=c+1
if c=4 then
alert ("You had more than 3 wrong,Please try again")
go frame 1
end if
sprite(csn).loc=point(x1,y1)
end if
end
لینکو دوم
global c,e
on exitFrame me
c=0
e=0
end
لینکو سوم
global x1,y1
on mouseDown me
csn=the currentspritenum
x1=sprite(csn).loch
y1=sprite(csn).locv
end
on mouseUp me
csn=the currentspritenum
if sprite(csn).intersects(csn+12) then
sprite(csn).loc=sprite(csn+12).loc
else
sprite(csn).loc=point(x1,y1)
end if
end
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا