یک سوال درباره Rotation؟؟؟؟؟

mshgames

Well-Known Member
با سلام خدمت دوستان عزیز

بازم به مشکل برخوردم و یه سوال برام پیش اومد که

میخوام یه مووی کلیپ رو دور محور خودش با توجه به مکان نما Mouse بچرخونم اما اکشن این کارو بلد نیستم.
162.gif


ممنون میشم جوابمو بدین.


عکس 1


8a9yd88.jpg


عکس 2

8au2jki.jpg
 

padideh

Member
سلام
اين كه خيلي سادس شما وقتي ميخواي يه موي كليپ بسازي ميتوني مكان محورت رو تعين كني ولي اون 9 حالت بيشتر نداره شما ميتوني وقتي ساختي اونو تغيير بدي كافيه بري تو موي كليپ و شيئ ت رو جا بجا كني
PHP:
padideh.onEnterFrame=function(){
    padideh._rotation=_root._ymouse
}
يا علي
 

پیوست ها

  • padideh.rotation.rar
    3.9 کیلوبایت · بازدیدها: 10
آخرین ویرایش:

mshgames

Well-Known Member
دستت درد نکنه پدیده جان

اما هدف من این کد نبود میدونی چی میگم مثلا ما یه فلش داریم که سر فلش رو به ماوس یعنی اگه ماوس حرکت کنه سر فلش در جهت ماوس در محور خودش میچرخه.

عکس

6qabcld.jpg
 

kiarash.M

Active Member
خوب اينم باز کاري نداره
ابتدا x , y موس رو ميگيري
y رو بر x ميتقسيمي و بعد از اون ArcTan ميگيري عدد حاصل
راستاي يه که موس در اونجا وايستاده !!

به اين نکته هم توجه کن که تابع Math.atan خوروجيش " راديانه " اما تابع rotation با "درجه" کار ميکنه

براي تبديل راديان به درجه هم اونو بر عدد pi تقسيم ميکني حاصل رو در 180 ضرب ميکني
و اين هم بايس بدوني که او چيزي کو تو از مختصات دکارتي تو ذهنت هست با اونچيزي که تو فلش ميبيني فرق داره
مثلا اين که مبداء در حالت پيش فرض او گوشه بالا سمته چپه !!
//------------------------------------------------------------------------

احتمالا اينارو بلد بودي من محض اطلاع گفتم شايد کسي باشه که ندونه :دي
 

mshgames

Well-Known Member
کیارش جان همه این توضیحاتی که گفتی کنار دستت درد نکنه اگه امکان داره واسط کد این کار بزار .
دست درد نکنه
 
آخرین ویرایش:

kiarash.M

Active Member
والا اين روش من بود شايد بچه ها يه روش بهتر و اسون تر به ذهنشون برسه
به ذهنه خودت چي ميرسه ؟؟
 

kiarash.M

Active Member
سلام
من اول خواستم جاي root رو عوض کنم گفتم شايد
کل کارت به هم بريزه ( او طوري راحت تر ميشد ساختش ))
اين کار کاره ساده اي بود به فلش زياد مربوط نميشد بايس رياضي بازي ميکردي !!
PHP:
padideh.onEnterFrame = function() {
	my_Y = (_root._ymouse-200)*-1;
	my_X = (_root._xmouse-275);
	if (my_Y>200) {
		([my_Y-200]*-1);
	}
	my_A = my_Y/my_X;
	//trace(my_A+"xy");
	my_B = Math.atan(my_A);
	my_C = R(my_B);
	trace(my_C+"Arc");
	padideh._rotation = (90-my_C);
	if (my_Y<0 && my_X<0) {
		padideh._rotation = 180+(90-my_C);
		//trace(180+(90-my_C));
	}
	if (my_Y>0 && my_X<0) {
		padideh._rotation = 180+(90-my_C);
		//trace(180+(90-my_C));
	}
	//-------------------------    
	function R(j:Number):Number {
		return (j/Math.PI)*180;
	}
	//-------------------------
};

اينم فايلش بازم ميگم واسه اين کار راه زياده به نظره من اين از بقيه راه ها منطقي تر بود
 

پیوست ها

  • Math.atan.zip
    6 کیلوبایت · بازدیدها: 9

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

بالا