پاسخ داده شد بسته شد
1
0

سلام علیکم

چطوری ورودی های اندروید بگیریم؟

مثلا تاچ دوتایی یا سنسور ژیروسکوپ در بازی های ماشین سواری یا تشخیص لرزش و…

 

خروجی های اندروید چطورن؟

مثلا ارسال نوتیفیکیشن با صدا يا بیدار ماندن در زمینه یا اون پیام های با کادر خاکستری که مال خود اندروید و پایین صفحه میاد یا مثلا لرزیدن موبایل (ویبره) و…

البته برای swipe کردن خودم یه کد ابتکاری نوشتم که البته کار هم کرد:

 

public float fl;

public Vector2 pos_1,pos_2;

 

void Update () {

if (Input.GetMouseButton(0)) {

Vector3 mouse_position =Camera.  Main. Screenworldtopoint (Input.MousePosition) ;

Pos_1 = new Vector2 (mouse_position.x,mouse_position.y)

} else {

pos_1 = Vector3.zero;

}

 

 

 

 

 

if (Input.GetMouseButtonDown(0)) {

Vector3 mouse_position =Camera.  Main. Screenworldtopoint (Input.MousePosition) ;

Pos_2 = new Vector2 (mouse_position.x,mouse_position.y)

} else {

pos_2 = Vector3.zero;

}

 

if (pos_1.x > (pos_2.x += fl) ) {

OnSwipeRighte () ;

}

 

(( if (pos_1.x < ( pos_2.x -= fl {

OnSwipeLeft();

}

(if (pos_1.y > (pos_2.y += fl) {

OnSwipeUp () ;

}

(if (pos_1.y < (pos_2.y -= fl) {

OnSwipeDown () ;

}

}

 

متغير fl حد سوییپ کردنه که مثلا کاربر باید بیشتر دستش رو بکشه.

میشه با تعریف متغیر bool هم کاری کرد که هنگام اجرای یک سوییپ بقیه سوییپ ها اجرا نشن. متغیر pos_1 مختصاتیه که دائم تا وقتیکه کاربر دستش رو از روی کلیک چپ بر نداشته بروزرسانی میشه. اما pos_2 مختصاتی هست که همون اول ذخیره میشه و ثابت میمونه تا ما بتونیم فاصله اولین ضربه تا ضربه فعلی رو محاسبه کنیم و جهت سوییپ رو تشخیص بدیم.

 

البته دوکیلو فسفر سوزوندم و مغزم دود کرد تا این رو تونستم سر هم کنم. اگه غلط املایی دارم ببخشید

اما برای بقیه ورودی و خروجی های اندروید دیگه کم آوردم. میشه لطفا راهنماییم کنید؟

 

با تشکر فراوان

  • شما باید برای ارسال دیدگاه شوید
پاسخ عالی
1
0

سلام برای تاچ تک انگشتی به کد زیر دقت نمایید

if (Input.touchCount > 0)
{
Touch touch = Input.GetTouch(0); // get first touch since touch count is greater than zero

if (touch.phase == TouchPhase.Stationary || touch.phase == TouchPhase.Moved)
{
Debug.Log("YES");
}
else
{
Debug.Log("NO");
}
}

اما برای سایر ورودی ها و خروجی ها بهتره از پکیج استفاده کنید ( البته اگر علم کافی برای نوشتن ندارید ) و تا جایی که بنده اطلاع دارم اکثر سیستم های سخت افزاری دیوایس اجرا کننده به صورت ReadOnly در اختیار کاربر قرار میگیرند و میتونید با استفاده از اون دیتاهای مورد نظرتون رو تولید کنید.

  • شما باید برای ارسال دیدگاه شوید
0
0

میشه لطفا توضیح بیشتری بدید؟

  • شما باید برای ارسال دیدگاه شوید
نمایش 2 نتایج
تلگرام