বড় গেমগুলিতে ইনপুট পরিচালনা করার জন্য কি কোনও মানক কৌশল রয়েছে। বর্তমানে, আমার প্রকল্পে, সমস্ত ইনপুট হ্যান্ডলিং গেম লুপে সম্পন্ন হয়, যেমন:
while(SDL_PollEvent(&event)){
switch(event.type){
case SDL_QUIT:
exit = 1;
break;
case SDL_KEYDOWN:
switch(event.key.keysym.sym){
case SDLK_c:
//do stuff
break;
}
break;
case SDL_MOUSEBUTTONDOWN:
switch(event.button.button){
case SDL_BUTTON_MIDDLE:
//do stuff
break;
}
}
break;
}
(আমি এসডিএল ব্যবহার করছি, তবে আমি আশা করি মূল অনুশীলনটি গ্রন্থাগার এবং ফ্রেমওয়ার্কগুলিও প্রয়োগ করে)) বড় প্রকল্পের জন্য এটি সর্বোত্তম সমাধান বলে মনে হয় না। আমার কাছে বেশ কয়েকটি অবজেক্ট থাকতে পারে যা ব্যবহারকারীরা কী চাপ দিয়েছিল তা জানতে চায়, তাই এই বিষয়গুলির জন্য ইনপুট হ্যান্ডেল করা আরও বুদ্ধিমান হয়ে উঠবে। যাইহোক, তারা সকলেই ইনপুট হ্যান্ডেল করতে পারে না, কারণ একটি ইভেন্ট পাওয়ার পরে এটি ইভেন্ট বাফারটি বন্ধ করে দেওয়া হবে, সুতরাং অন্য কোনও বস্তু সেই ইনপুটটি গ্রহণ করবে না। এর বিরোধিতা করার জন্য কোন পদ্ধতিটি সবচেয়ে বেশি ব্যবহৃত হয়?