اعدام خارج الشاشة البلاط في متساوي القياس المحرك

StackOverflow https://stackoverflow.com/questions/2060690

سؤال

عن الجامعة مدة المشروع ، أنا أعمل على الرسومية roguelike (أنا على علم من تناقض في المصطلحات :P) يستخدم متساوي القياس عرض.ما أحاول فهمه هو ، حيث رسم كل البلاط هو بغباء مكلفة وغير ضرورية ، أنا الرغبة في معرفة سريع نسبيا خوارزمية لتحديد البلاط يجب أن تكون مرسومة لتناسب داخل NxMpx نافذة ، بالنظر إلى أن البلاط الرسومات XxYpx.

أنا لا أفعل التمرير السلس ، لذا فإن هذا ليس مشكلة.أنا أيضا لست قلقا الكمال - قليلا لا لزوم لها رسم على ما يرام, أنا فقط لا أريد أن ألفت كمية كبيرة من لزوم البلاط التي لن تظهر في اللعبة.

هل كانت مفيدة؟

المحلول

تحتاج إلى التفكير حول مفهومين:الشاشة الفضاء عالم الفضاء.هذه هي مهمة جدا في محركات 3d ، ولكنها تنطبق على جميع ولكن أبسط الألعاب.في متساوي القياس المحرك الخاص بك عالم الفضاء هو 2d مجموعة من البلاط.

إذا كنت تبحث أولا في طريقة سرية بين هذين تنسيق المساحات.مرة واحدة كنت قد فعلت ذلك, سيكون من الواضح أن مساحة الشاشة خرائط العالم rectange التي تحولت في 45 درجة.يمكنك تحديد صيغة ذلك, ولكن الأمر المهم فقط إذا كنت تحاول تحديد أي جزء من العالم مساحة مرئية فقط محاكاة الوحوش في هذا المجال (الكفاءة اللازمة على لوحات المفاتيح 8 بت, ربما ليس على جهاز الكمبيوتر الحديثة!).عندما يتعلق الأمر الفعلي التقديم أنت لا تحتاج إلى تحديد هذه المنطقة المرئية من العالم ، لأنه الضمني في الطريقة التي تجعل البلاط على الشاشة:-

  1. كنت تعمل بها والتي البلاط الموقع في الجزء العلوي الأيسر من الشاشة ، نسمي هذا يا (على الأصل) - التي ستكون ثابتة الإزاحة من نقطة من الفائدة ، وعادة لاعب, أن كنت تريد أن تبقى في وسط الشاشة.
  2. وبمجرد الانتهاء من ذلك يمكنك طلاء البلاط في الصف العلوي من الشاشة ، يخطو +1X -1Y في العالم مساحة كل أرض من البلاط (إذا كنت تبحث شمال شرق).
  3. ثم الطلاء الصف أدناه.أن يتم تعويض ناقص واحد ونصف عرض البلاط في مساحة الشاشة و يبدأ في س-1 في الفضاء العالمي.
  4. كرر الخطوات 2 و 3, تعديل نقطة الانطلاق في الفضاء العالمي من خلال -1 في X و Y من ما كنت في المرحلة السابقة 2 حتى تصل إلى أعلى الشاشة.

نصائح أخرى:-

  • من الواضح أنك لا يوجه أي البلاط التي هي خارج الخريطة.قد أيضا ، اعتمادا على تصميم اللعبة ، لا يوجه أي البلاط خارج غرفة خاصة اللاعب في.
  • ليس هناك فقط بلاط رسم ، هناك أيضا لاعبين, وحوش, سناري ، إلخ.حكم رسم كل شيء في paricular العالم موقع في نفس النجاح.بهذه الطريقة الكائنات الأقرب إلى 'كاميرا' سوف تحجب الأشياء وراءها (والذي هو السبب في أنك تبدأ الرسم في الجزء العلوي من الشاشة).
  • أيضا لا يكون مجرد بلاط الأرضيات في معظم iso محركات, سيكون لديك أيضا الأثاث والجدار شرائح.قد تعين مجالات الخريطة على أنها تنتمي إلى غرفة خاصة ، عندما يتم التركيز على تلك الغرفة (لأن اللاعب في ذلك على سبيل المثال) ، لا رسم الجدار قطاعات جانب الغرفة الأقرب إلى الكاميرا.

على أي حال, هذا يكفي أن يكون الحصول على مع الأمل انها مفيدة المشروع الخاص بك على ما يرام.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top