• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            天行健 君子當(dāng)自強而不息

            Working with Maps and Levels(12)

            Using Auto Maps

            Your game world is a huge place, and when players start exploring their surroundings,
            you may want to make things easier on them by providing a miniature version
            of your map for their reference. Not just any map mind you—a map that is smart
            enough to know where the player has been and the places he still needs to explore.

            You need to display only those portions of the map that a player has explored.
            Sections never visited do not need to be shown—that is, not until discovered by
            players. In that way, players can look back to where they’ve been and maybe plot
            out their paths to future destinations. This is the magic of auto mapping.

             

            Auto Maps in Action

            One of my favorite games, Phantasy Star Online, by Sega Corp., uses auto mapping
            in a seamless fashion. Check out Figure 17.5, which shows the auto map at work in
            the upper-right corner of the screen.

            In Phantasy Star Online, the main player and other important characters in the
            game are displayed on the auto map as well as small arrows. As the main player
            walks around, the map scrolls to show the area around the player. As the player
            visits new rooms (sections), the rooms are revealed on the auto map.

            This auto-mapping feature are easy to re-create for your own game project.

             

            Big Map, Small Map

            The challenge here is to change your large game level into a small map suitable
            for display in your game. Following snap shows a screen shot of the Mapping example
            program. Notice the map in the upper-right corner of the screen. It uses alpha blending
            (refer to Chapter 6 for more on this topic) to show the game action underneath.

            The easiest way to make a smaller version of the in-game level is to go into your 3-D
            editor and load up the level of the small map that you want to construct.

             

            Loading and Displaying Auto Maps

            Okay, the small auto map is created and waiting to be used. What you need to do at
            this point is load the .X file and query it for the individual meshes contained
            within. Using the Graphics Core’s cMesh object is perfect for loading the mesh.

            Now, you construct an array of vertex buffers—one for each mesh in the auto map.
            You fill each vertex buffer with the triangle face data from each mesh in the cMesh
            object. The trick at this point is that although you are copying the vertex data from
            the mesh to the vertex buffer, the Y-coordinate is tossed out so that the resulting
            vertex buffer mesh is flat, and thus the 2-D look of the auto map.

            To display the loaded map, you just position a camera, set up a viewport to render
            to on the display, and render each vertex buffer. With auto mapping in place, you
            can skip rendering the vertex buffers that represent sections of the map that have
            not been visited by the character.

            Although the concept sounds simple, get a jump on things by looking at some
            working code.

            posted on 2007-12-10 15:11 lovedday 閱讀(221) 評論(0)  編輯 收藏 引用


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            公告

            導(dǎo)航

            統(tǒng)計

            常用鏈接

            隨筆分類(178)

            3D游戲編程相關(guān)鏈接

            搜索

            最新評論

            亚洲精品午夜国产VA久久成人| 亚洲AV日韩精品久久久久久久| 99久久精品国产麻豆| 久久伊人精品一区二区三区| 伊人久久大香线蕉综合影院首页| 一级做a爰片久久毛片免费陪 | 丁香五月网久久综合| 亚洲嫩草影院久久精品| 久久无码国产| 国产精品免费看久久久| 7国产欧美日韩综合天堂中文久久久久 | 久久久久久久久久久| 亚洲国产精品久久久久久| 久久久国产99久久国产一| 久久久久久久精品妇女99| 精品久久久久久成人AV| 久久久不卡国产精品一区二区| 色天使久久综合网天天| 色综合久久精品中文字幕首页| 久久久久国产精品嫩草影院| 新狼窝色AV性久久久久久| 精品久久综合1区2区3区激情| 久久精品国产亚洲αv忘忧草 | 好久久免费视频高清| 伊人 久久 精品| 久久亚洲高清综合| 久久精品国产99久久无毒不卡 | 久久久91人妻无码精品蜜桃HD| 久久精品蜜芽亚洲国产AV| 久久亚洲中文字幕精品一区| 久久国产精品久久| 性高湖久久久久久久久| 亚洲人成精品久久久久 | 亚洲欧美精品一区久久中文字幕| 欧美久久综合性欧美| 99久久精品日本一区二区免费 | 久久久精品日本一区二区三区| 国产精品久久永久免费| 99久久精品午夜一区二区| 久久精品欧美日韩精品| 久久免费精品视频|