বর্তমানে প্রদত্ত যে কোনও পদ্ধতির সাথে আমার উদ্বেগটি হ'ল তারা উভয়ই 'পরিবর্তনশীল গতি' জ্বলজ্বলে বাড়ে, যা কেবল খেলোয়াড়দের জন্যই বিভ্রান্তিকর হতে পারে না তবে কোনও বস্তুটি বিলুপ্ত হওয়ার আগে ঠিক কতক্ষণ চলে গেছে তা অনুমান করাও কঠিন করে তোলে । পরিবর্তে, আপনার পরামিতি কোথাও (কিনা তারা রেন্ডারার জন্য অথবা একটি প্রতি-বস্তুর ভিত্তিতে বৈশ্বিক হতে) আমি চার ধ্রুবক প্রয়োগ করা হবে: slowBlinkTime, slowBlinkRate, fastBlinkTimeএবং fastBlinkRate। রেন্ডারিংয়ের সময়, যদি আপনার অবজেক্টের অবশিষ্ট জীবন কম হয় fastBlinkTime, তবে এটিকে ঝাপটান fastBlinkRate; অন্যথায় যদি এটি এর চেয়ে কম হয় তবে এটিকে slowBlinkTimeঝাপটান slowBlinkRate। আপনি যদি আরও একধাপ এগিয়ে যেতে চান তবে আপনার আলাদা আলাদা অ্যারে থাকতে পারে blinkTimeএবংblinkRateগুলি এবং সেগুলি একে একে পরীক্ষা করে দেখুন, তবে বাস্তবে এটি অতিরিক্ত ওভারকিল হওয়ার সম্ভাবনা রয়েছে এবং কেবলমাত্র 'সতর্কতা' এবং 'সমালোচনামূলক' রাষ্ট্র থাকা যথেষ্ট। কোডটি এরকম কিছু দেখাচ্ছে:
float blinkCycle;
if ( entity.timeLeft < fastBlinkTime ) {
blinkCycle = entity.timeLeft/fastBlinkRate;
} else if ( entity.timeLeft < slowBlinkTime ) {
blinkCycle = entity.timeLeft/slowBlinkRate;
}
blinkCycle = blinkCycle - floor(blinkCycle); // find blinkCycle 'mod 1'
if ( (entity.timeLeft < slowBlinkTime) && (blinkCycle < 0.5f) ) {
renderBlinked(entity); // this should be the 'blinked' state, whether flashed or missing
} else {
renderNormal(entity); // the normal render for the entity
}
নোট করুন যে এই কোডটি অর্ধ-অন, অর্ধ-অফ জ্বলজ্বল চক্র (যা 0.5fটেস্টে উপস্থাপিত তা বোঝায়), তবে কেবল যথাযথ ধ্রুবকটিকে টিকিয়ে রেখে এক-তৃতীয়াংশের মতো সহজেই দুই-তৃতীয়াংশের মতো কিছু জন্য খুব সহজেই চিহ্নিত করা যেতে পারে। এটি দ্রুত এবং ধীর অবস্থার মধ্যে জ্বলজ্বলে 'সিঙ্ক্রোনাইজ' করার জন্য কিছু করে না, তবে এটি তুলনামূলকভাবে সরল।
এটি প্লাগ ইন করা সহজবোধ্য হওয়া উচিত, এবং এতে আইএমএইচওর যথেষ্ট সুবিধা হবে যে খেলোয়াড়রা 'স্লো' থেকে 'দ্রুত' জ্বলজ্বল করতে স্যুইচটি দেখতে সক্ষম হবে এবং ঠিক কতক্ষণ বাকি আছে তা জানতে পারবে। আমি প্যারামিটার মানগুলি দিয়ে 5s slowBlinkTimeএবং 0.5 এর জন্য slowBlinkRateএবং 2s / 0.25 এর জন্য fastBlinkTimeএবং সেগুলি fastBlinkRateদিয়ে শুরু করব, তবে এটি অবশ্যই আপনার নির্দিষ্ট গেমের উপর নির্ভরশীল।