চরিত্রটি অসীম রানার / জাম্পারে ফাঁক হয়ে গেছে কিনা তা কীভাবে নির্ধারণ করবেন?


12

আমি একটি 2 ডি অসীম রানার তৈরি করছি। গেমটিতে, স্তম্ভ থেকে স্তম্ভের দিকে অক্ষরের জাম্পগুলি এলোমেলোভাবে উত্পন্ন হয়। আমার এই কাজ আছে। তবে কীভাবে নির্ধারণ করবেন যে চরিত্রটি একটি স্তম্ভের উপরে ঝাঁপ দিতে ব্যর্থ হয়েছে এবং স্তম্ভগুলির মধ্যে ফাঁক হয়েছে? একটি স্তম্ভটি আকারে সাধারণ আয়তক্ষেত্রাকার হয়।


ওটি: আমি যদিও এই প্রশ্নটি আরপিজি.এসইতে পোস্ট করা হয়েছিল এবং আমি ভেবেছিলাম "এখন কোন ধরণের শাসন শোষণের সন্ধান পাওয়া গেছে? অসীম চলমান কীভাবে?"
o0 '

উত্তর:


20

স্তরটির নীচে একটি আয়তক্ষেত্র অঞ্চল যুক্ত করুন, প্ল্যাটফর্মের ন্যূনতম অনুমোদনযোগ্য উচ্চতার চেয়ে কম। খেলোয়াড় যদি এই অঞ্চলটিকে ছেদ করে থাকে তবে তারা একটি প্ল্যাটফর্ম থেকে নামবে।


1
এবং এই আয়তক্ষেত্রটিকে ক্যামেরার একটি শিশু বানান যাতে এটি ক্যামেরা সহ চলমান থাকে এবং সর্বদা উপস্থিত থাকে? এটা এত সহজ। ধন্যবাদ।
সানসোলো

এমনকি প্লেয়ারটি যদি স্তরটি থেকে পড়ে না যায় তবে আমি মনে করি যে এটি যদি কোনওভাবে পরিচালিত হয় তবে এটি রাখা ভাল একটি সুরক্ষার কাজ।
মুচাহো

5
আপনি যদি আক্ষরিকভাবে ছেদটি পরীক্ষা করছেন, নিশ্চিত হয়ে নিন যে আপনার চরিত্রটি এত দ্রুত পতিত হতে পারে না যে পৃষ্ঠের উপর দিয়ে ক্লিপ করতে পারে (উদাহরণস্বরূপ, চরিত্রটির পুরোপুরি উপরে একটি এবং পরবর্তী ফ্রেম সম্পূর্ণ নীচে)।
wchargin

2
হ্যাঁ, এটি এড়াতে র্যাক্টটি যতটা প্রয়োজন নিচে তত বাড়ানো উচিত। এছাড়াও কেবল উচ্চতা যাচাই করাও কাজ করবে তবে স্তরটির উপর নির্ভর করে এটি আপনাকে "কিল অঞ্চল" আকার পরিবর্তন করার নমনীয়তা দেয়।
mklingen

6
আয়তক্ষেত্রের মাধ্যমে "ক্লিপিং" এড়াতে, কেন সরল নয় if (playerPos.x < minHeight)?
কোল জনসন

24

যদি আপনার গেমটি কেবল অনুভূমিকভাবে স্ক্রোল করে তবে আপনি অক্ষরের উল্লম্ব অবস্থানটি পর্যায়ের নীচের প্রান্তের নীচে কিনা তা পরীক্ষা করতে পারেন।

যদি আপনার গেমটি উল্লম্বভাবে পাশাপাশি স্ক্রোল করে (সম্ভবত উপরের দিকে), আপনি প্লেয়ারটি দেখার নীচের প্রান্তের (যেমন অনস্ক্রিনের মঞ্চের অঞ্চল বা ক্যামেরাটির ফোকাসে) নিচে পড়েছে কিনা তা পরীক্ষা করতে পারেন।

চরিত্রটি "ক্যামেরায়" থাকতে ব্যর্থ হলে সাধারণভাবে মৃত্যুর অবস্থা condition আপনার ক্যামেরার চলন নিয়ন্ত্রণ করে আপনি নিজের গেমপ্লে টিউন করতে সক্ষম হবেন। উদাহরণস্বরূপ, যদি একটি উল্লম্ব স্ক্রোলিং পর্যায়ে আপনি কেবল আপনার ক্যামেরাটিকে "রবারব্যান্ড" থেকে কিছুটা নিচের দিকে যেতে দেন, পুরো upর্ধ্বমুখী গতির অনুমতি দেওয়ার সময় আপনি গভীর, অফস্ক্রিন ফলসকে দণ্ডিত করেন।


হ্যাঁ, এটিও একটি সহজ উপায়। চরিত্রটি যে হতে পারে তার জন্য আমার কেবল সর্বনিম্ন অবস্থানের সন্ধান করা উচিত y
সানসোলো

1
সঠিক! অনুভূমিক স্ক্রোলারের ক্ষেত্রে আপনি কেবল নিজের মানচিত্র সম্পাদকের মঞ্চের উল্লম্ব আকারটি পরীক্ষা করতে পারেন। উল্লম্ব স্ক্রোলারের ক্ষেত্রে, আপনি নিশ্চিত করতে পারেন যে ক্যামেরাটি কেবল উপরের দিকে চলেছে। এইভাবে, যদি চরিত্রটি নীচে পড়ে যায়, তবে তিনি ক্যামেরার ভিউয়ের নীচে শেষ করবেন। তারপরে আপনি কেবল চরিত্রের উল্লম্ব অবস্থানটি দেখার নীচের সীমানার নীচে পড়ে কিনা তা পরীক্ষা করে দেখতে পারেন।
জেলি ভ্যান ক্যাম্পেন

@ জেল্ল্যাভেন ক্যাম্পেন: আপনাকে অগত্যা ক্যামেরাকে wardর্ধ্বমুখী চলাচলে সীমাবদ্ধ করতে হবে না। আপনি "ক্যামেরায়" থাকতে ব্যর্থ এমন চরিত্রগুলিকে হত্যা করতে পারেন বা ক্যামেরাটি তাদের চারপাশে অনুসরণ করতে পারে।
মাকিং হাঁস

আমি এই উত্তরটি তেমন পছন্দ করি না কারণ এটি ক্যামেরাটিকে সরাসরি স্তরের সীমানার সাথে যুক্ত করে। স্তরের সীমানা আকারের স্ক্রিনের উচ্চতার চেয়ে বেশি হলেও mklingen এর উত্তর কাজ করে। চরিত্রটির দিকে নজর দেওয়ার জন্য ক্যামেরাটি উপরে ও নীচে যেতে পারে, তবে চরিত্রটি ক্যামেরার চেয়ে দ্রুত নেমে যাবে, স্তরে থাকবে, তবে ক্যামেরায় সরাসরি আবদ্ধ সীমানা বাক্সের সাথে সংঘর্ষের ঝুঁকি নেই।
কেভিন

2
@ কেভিন: আমি সাধারণ গেমসের জন্য সম্মত, তবে পদ্ধতিগতভাবে উত্পন্ন অসীম স্ক্রোলারের জন্য নয়। উদাহরণস্বরূপ, একটি উল্লম্ব স্ক্রোলারগুলিতে আপনাকে নতুন বাক্সগুলি ছড়িয়ে দিতে হবে এবং অফস্ক্রিন বাক্সগুলি ফেলে দিতে হবে, অথবা ক্যামেরাটি ঘুরে দেখার সাথে সাথে আপনাকে বাক্সগুলি আপডেট করতে হবে। মৃত্যুর অবস্থাটি যেমন "ক্যামেরায় থাকতে ব্যর্থ হয়েছে" এর সাথে সরাসরি আবদ্ধ, তাই শর্তটিকে ক্যামেরায় বেঁধে রাখার অর্থটি বোধ করা যায়। এটি নতুন বিষয়বস্তু ছড়িয়ে দেওয়া এবং সংঘর্ষের চেক অবলম্বন না করে ক্যামেরা বাউন্ডারি চেক করা আরও পারফরম্যান্ট।
জেলি ভ্যান ক্যাম্পেন

2

বিকল্পভাবে উল্লম্ব স্থানাঙ্ক পরীক্ষা করার জন্য, আপনি কেবল উল্লম্ব গতিবেগ পরীক্ষা করতে পারেন। চরিত্র নিচে দ্রুত কিছু প্রান্তিক মানের তুলনায় পতনশীল করা হয়, তাহলে এই উপসংহারে তারা মৃত (এমনকি যদি সেখানে হয় এখনো পৌঁছাতে, প্রভাব মারাত্মক হতে পারে কিছু প্ল্যাটফর্ম কম যথেষ্ট)।

অবশ্যই, এটি কেবল তখনই কাজ করে যদি আপনার গেমটি মৌলিক ফ্রি-ফ্যাল ফিজিক্সকে যথাযথভাবে প্রয়োগ করে, যেমন নীচের দিকে গতিবেগ আসলে পতনের সময় বৃদ্ধি পায় , যেমন এটি বাস্তবে ঘটে (টার্মিনাল বেগ পর্যন্ত)।


1

আপনার স্তম্ভগুলির উচ্চতা থাকলে আপনি সর্বনিম্ন বিদ্যমান খুঁজে পেতে পারেন এবং এটি প্লেয়ারের উল্লম্ব অবস্থানের সাথে তুলনা করতে পারেন। যদি সে সর্বনিম্ন স্তম্ভের নীচে থাকে তবে সে ফিরে পাওয়ার কোনও সুযোগ নেই। আপনি এই চেকটি কেবল প্লেয়ারের পিছনে এবং সামনের স্তম্ভের মধ্যে সীমাবদ্ধ করতে পারেন।

উদাহরণ: আমাদের কাছে 3 টি স্তম্ভ রয়েছে, উচ্চতা [10, 20, 40] সহ। খেলোয়াড় লাফিয়ে লাফিয়ে ৪০ উচ্চতার স্তম্ভের উপরে চলে যায়, তিনি এগিয়ে চলে যান ২০-এর দিকে He কম কঠোর চেক করার জন্য, তিনি 10 এর নীচে না হওয়া পর্যন্ত অপেক্ষা করুন।


সমস্ত স্তম্ভ একই আকারের। এটি দুটি স্তম্ভের মধ্যে অনুভূমিক ব্যবধান যা পরিবর্তিত হয় :)
সানসোলো

0

একটি চরিত্র কতক্ষণ পড়েছে তার একটি গণনা রাখুন। (অর্থাত্ তারা কতক্ষণ "নীচে" সরে যাচ্ছেন)। এগুলি একবারের স্ক্রিনফুলের চেয়ে বেশি পড়ে গেলে তারা সংজ্ঞায় মঞ্চ থেকে নেমে আসে, হ্যাঁ?

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.