আমি সি # / এক্সএনএ ব্যবহার করছি এবং ড্র কোডের সাথে আপডেট কোডটি না মিশানোর জন্য বেশ কয়েকবার বলা হয়েছে - এবং আমি নিশ্চিত যে আমি নই! তবে কেউ দয়া করে 'লজিক কোড' কী তা বর্ণনা করতে পারেন?
যেমনটি এখানে দেখা হয়েছে: http://blogs.msdn.com/b/shawnhar/archive/2007/07/25/ বোঝা- গেমটাইম.এএসপিএক্স
[...] নিশ্চিত হয়ে নিন যে আপনি আপনার সমস্ত গেমের যুক্তি আপডেট পদ্ধতির (অঙ্কনে নয়!) ভিতরে রেখেছেন এবং সবকিছু দুর্দান্ত ধ্রুবক গতিতে চলবে।
আমি এগুলি জিজ্ঞাসা করছি যেহেতু আমার গতির গতি এফপিএসের তুলনায় ওঠানামা করছে। ধীর এফপিএস ধীর গতিশীল বস্তু এবং ভিসার বিপরীতে সমান। এবং হ্যাঁ, আমি প্রত্যাশিত position += speed * (float)gt.ElapsedGameTime.TotalSeconds;
কোডটি অন্তর্ভুক্ত করছি ।
এটি সম্ভবত একটি বড় উপদ্রবমূলক প্রশ্ন, তবে আমি এর সংজ্ঞাটি সম্পর্কে একেবারে পরিষ্কার হতে চাই।
gt.ElapsedGameTime.TotalSeconds
প্রোগ্রামটি (গেম) শুরু করা থেকে কেটে যাওয়া সেকেন্ডের সংখ্যা। যদি আপনি এটির দ্বারা আপনার গতি বৃদ্ধি করে থাকেন, তবে 5 সেকেন্ড বাজানোর পরে, আপনার গতি 5 গুণ বেশি গতিবেগ হবে (বিশেষ ক্ষেত্রে যেখানে গতি 0 তে সেট করা আছে) ব্যতীত। আপনার আর কী থাকতে পারে তা নিশ্চিত নয় যে এটি অসত্য তৈরি করতে পারে তবে আমি আগ্রহী।
iii
যা আমি নিজেই প্রতিটি আপডেট বর্ধিত করি তা ব্যবহার করি কারণ আমি সেকেন্ডে এটি চাই না, আমি পদক্ষেপ বা ফ্রেম চাই। আমি দেখতে পাচ্ছি যে আপনার উপায় যদিও নরম কোডিং জিনিসগুলির একটি বৈধ উপায়।
position = speed * ...TotalSeconds
। খেয়াল করুন এটি=
না+=
। এটি যদি+=
আপনি যেমন টাইপ করেন ঠিক তেমন হয়, তবে আপনার অবস্থান প্রায় তাত্ক্ষণিকভাবে পর্দার বাইরে উড়ে যাবে।