এক্সবক্স নিয়ামক থাম্বস্টিকের উপর ভিত্তি করে আমার স্প্রাইট (উদাহরণস্বরূপ স্পেসশিপ) কোন কোণে মুখোমুখি হতে হবে তা গণনা করতে আমি একটি খুব বেসিক সূত্র ব্যবহার করছি অর্থাৎ আপনি জাহাজটি ঘোরানোর জন্য থাম্বস্টিকটি ব্যবহার করেন।
আমার প্রধান আপডেট পদ্ধতিতে:
shuttleAngle = (float) Math.Atan2(newGamePadState.ThumbSticks.Right.X, newGamePadState.ThumbSticks.Right.Y);
আমার মূল ড্র পদ্ধতিতে:
spriteBatch.Draw(shuttle, shuttleCoords, sourceRectangle, Color.White, shuttleAngle, origin, 1.0f, SpriteEffects.None, 1);
আপনি দেখতে পাচ্ছেন এটি বেশ সহজ, আমি থাম্বস্টিক থেকে বর্তমান রেডিয়ানগুলি নিয়ে একটি ফ্লোটে সংরক্ষণ করি shuttleAngle
এবং তারপরে এটি শাটল আঁকার জন্য আবর্তন কোণ (রেডিয়ানে) আর্গুমেন্ট হিসাবে ব্যবহার করি।
কোনও কারণে আমি স্প্রিন্টটি ঘোরালে এটি 0, 90, 180 এবং 270 ডিগ্রি কোণে আঠালো অনুভূত হয়। এটি সেই কোণগুলিতে স্থির করতে চায়। এটি আমাকে কোনও মসৃণ এবং প্রাকৃতিক ঘূর্ণন দেয় না যেমন আমি কোনও গেমের মতো অনুভব করি যা একই রকম মেকানিক ব্যবহার করে। PS: আমার এক্সবক্স নিয়ামক ঠিক আছে!
shuttleAngle
দেখুন যে সেই কোণগুলিতে আটকে আছে