(reza)
Member
سلام به همه
در اينجا قصد دارم نحوه كاربرد بردار در فلش رو قرار بدم و يك مثال كاربردي
ميخوايم يك هواپيما بسازيم كه به سمت مكان نمايه ماوس حركت كنه
بعد از طراحي هواپيماتون تو فلش اسمش رو "airplane" قرار بديد ، كد زير رو تو اون پروژه قرار بديد
توضيح:
دو قطعه كد زير وظيفه اينو دارن ك با توجه به زاويه قرار گيري هواپيما ، اونو حركت بدن (مثل ماشين هر طرف كه فرمون ماشين رو ميچرخونيد ماشين هم به اون سمت حركت ميكنه)
مفهوم فرمول زير چيه ؟
اين فرمول راديان رو به درجه تبديل ميكنه و با استفاده از sin و cos اين درجه ، هواپيما به اون سمت حركت ميكنه.
با استفاده از atan2 مختصات نقطه اي كه مد نظر مون هست رو شناسايي ميكنيم
58.1 براي چيه:
وقتي از atan2 استفاده ميكردم و مختصات ماوس رو بهش ميادم يكدفه در يه قسمت هايي ابجكت خيلي زياد تر ميچرخيد فكر كردم اگه بهش ضريب بدم درست ميشه تا بلاخره اين عدد و پيدا كردم و مشكل حل شد
به نظرم ديگه چيز خاصي واسه توضيح نداره.
نمونه 1 :
مثال گفته شده در اين پروژه
نمونه 2 :
يك كرم تقريبا مثل بازي گوشيهاي ساده
نمونه 3 :
فقط يه فايله فلش از بازيه ك تو SwishMax ميساختم با Space ميتونيد شليك كنيد (اين بازي ناقصه هنوز تكميل نشده) براي حركت از قسمت ناوبري دايره رو حركت بديد.
---------------------
كد بالا نمونه كليدي هست كه ميتونيد انواع مختلف بازي ها رو با اون ايجاد كنيد كافيه يكم خلاق باشيد
در اينجا قصد دارم نحوه كاربرد بردار در فلش رو قرار بدم و يك مثال كاربردي
ميخوايم يك هواپيما بسازيم كه به سمت مكان نمايه ماوس حركت كنه
بعد از طراحي هواپيماتون تو فلش اسمش رو "airplane" قرار بديد ، كد زير رو تو اون پروژه قرار بديد
HTML:
var Mult:Number = 2*Math.PI;
var speed:Number = 5;
function airplaneMove(Event):void{
airplane.x -= Math.cos(Mult*airplane.rotation/360)*speed;
airplane.y -= Math.sin(Mult*airplane.rotation/360)*speed;
airplane.rotation = Math.atan2(airplane.y - mouseY,airplane.x - mouseX) * 58.1;
}
stage.addEventListener(Event.ENTER_FRAME,airplaneMove);
دو قطعه كد زير وظيفه اينو دارن ك با توجه به زاويه قرار گيري هواپيما ، اونو حركت بدن (مثل ماشين هر طرف كه فرمون ماشين رو ميچرخونيد ماشين هم به اون سمت حركت ميكنه)
HTML:
airplane.x -= Math.cos(Mult*airplane.rotation/360)*speed;
airplane.y -= Math.sin(Mult*airplane.rotation/360)*speed;
HTML:
Mult*airplane.rotation/360
HTML:
airplane.rotation = Math.atan2(airplane.y - mouseY,airplane.x - mouseX) * 58.1;
58.1 براي چيه:
وقتي از atan2 استفاده ميكردم و مختصات ماوس رو بهش ميادم يكدفه در يه قسمت هايي ابجكت خيلي زياد تر ميچرخيد فكر كردم اگه بهش ضريب بدم درست ميشه تا بلاخره اين عدد و پيدا كردم و مشكل حل شد
به نظرم ديگه چيز خاصي واسه توضيح نداره.
نمونه 1 :
مثال گفته شده در اين پروژه
نمونه 2 :
يك كرم تقريبا مثل بازي گوشيهاي ساده
نمونه 3 :
فقط يه فايله فلش از بازيه ك تو SwishMax ميساختم با Space ميتونيد شليك كنيد (اين بازي ناقصه هنوز تكميل نشده) براي حركت از قسمت ناوبري دايره رو حركت بديد.
---------------------
كد بالا نمونه كليدي هست كه ميتونيد انواع مختلف بازي ها رو با اون ايجاد كنيد كافيه يكم خلاق باشيد