• <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)自強(qiáng)而不息

            Working with Maps and Levels

            Working with Maps and Levels(16)      摘要: Mapping demo main source:  
             
            Working with Maps and Levels(15)      摘要: Recall that you need to enable each map section in order for it to be visible when
            rendered. The m_visible array tracks the visibility of each map section; if an array
            element is set to 0, the respective map section is not displayed. If the element is set
            to 1, the map section is drawn.  
             
            Working with Maps and Levels(14)      摘要: The constructor and destructor of the cAutomap class ensure that all data is placed
            within a known state and that all used resources are released. The constructor does
            nothing more than clear some variables and orient a camera to point downward.
            You later use that camera to render the map. The destructor calls on the Free
            function to release all used resources.  
             
            Working with Maps and Levels(13)      摘要: The auto map class I've developed for the book will load a cMesh object and compress
            it into a flat version of the map. The flattened map is stored in a series of vertex
            buffers. These vertex buffers use only the X-, Y-, and Z-coordinates of each
            vertex plus a single diffuse color. This means that auto maps are compact and easy
            to render. This also means that you can use alpha blending to overlay the map on
            the screen without covering the crucial gaming action going on.  
             
            Working with Maps and Levels(12)      摘要: 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.  
             
            Working with Maps and Levels(11)      摘要: Even though the barrier class marks areas on the map using geometric shapes in
            exactly the same way as the trigger class does, the barrier class also positions meshes.
            Looking again at the cBarrier class declaration, notice that each of the add barrier
            functions — add_sphere, add_box, add_cylinder, and add_triangle—have a set of coordinates
            that position and rotate the barrier’s mesh before being rendered.  
             
            Working with Maps and Levels(10)      摘要: Continue now with the cBarrier class declaration:

            When you need to assign a mesh to a barrier, use the set_mesh function, passing the
            barrier’s identification number to set, as well as cMesh objects to use.
            For setting an animation for a barrier, you pass the barrier’s
            identification number, cAnimation object, the name of the animation to use, and the
            time the animation is set (using a timer function such as timeGetTime).  
             
            Working with Maps and Levels(9)      摘要: You know—detecting when your character is walking around the map bumping into walls or standing
            on solid ground. What about objects such as doors blocking your character’s way?
            Because a door is not part of the terrain, I didn’t include a door when I constructed
            the collision detection code. Now is the time to remedy that situation.  
             
            Working with Maps and Levels(8)      摘要: The get_enable_state function checks the current status of a trigger; by passing the
            trigger identification number, you get in return the state of the trigger. If a trigger
            is disabled, a call to get_enable_state returns a value of false. If enabled, the return
            value is true. To enable or disable a trigger, call on the enable function, using the
            trigger's identification number as the only argument.  
             
            Working with Maps and Levels(7)      摘要: get_trigger is the function in the trigger class that you call every time the player’s character
            moves. get_trigger will take the coordinates of the character you are checking and
            return the identification number of the first trigger found at that location (if any). If
            no triggers are found at the specified location, get_trigger returns a value of zero. 
             
            Working with Maps and Levels(6)      摘要: add_trigger is the heart of all the other functions that add a trigger. This function
            allocates a sTrigger structure, sets its type, identification number, and enable flag,
            and then links the structure into the linked list of triggers. Once you allocate your
            program using the add_trigger function, the program can fill in the returned sTrigger
            structure with the coordinates, radius, height, or whatever other information the
            trigger needs to have defined.  
             
            Working with Maps and Levels(5)      摘要: Just as does every C++ class, cTrigger has a constructor and a destructor that set up
            and free the data contained within the class. The only data tracked by the trigger
            class that is not contained with the linked list is the number of triggers currently
            held in the linked list and a pointer to that linked list. The constructor and
            destructor ensure that the class is prepared for using those two variables to free
            the class's data when destroyed (by calling the free function). 
             
            Working with Maps and Levels(4)      摘要: Adhering to object-oriented programming techniques, create a class that will handle
            a list of triggers and determine which (if any) has been touched by a character. The
            class uses a structure to store the information of each trigger—the coordinates, type,
            and so on. Each trigger is also assigned an identification number that it uses to refer
            back to itself. The entire list is maintained as a linked list of structure.  
             
            Working with Maps and Levels(3)      摘要: You define sphere triggers (see Figure 17.1) by a set of coordinates and a radius.
            Sphere triggers have two unique benefits:

            ■ Spheres are perfect for defining large areas of a map as a trigger, only using
            the center coordinates and a radius to define the location of the sphere.

            ■ The sphere trigger is one of the fastest ways to check for character-to-trigger
            collisions in the map trigger engine.  
             
            Working with Maps and Levels(2)      摘要: Using character map lists is a quick way to place characters in a map. When you
            load a map into memory, load the matching character map list and insert the characters.
            Although this method of adding characters to a map seems desirable, you’ll
            need a bit more flexibility at times, and that’s when using scripts comes into play. 
             
            Working with Maps and Levels(1)      摘要: While going through the examples, I placed characters on the map in
            a direct, hard-coded manner. However, remember that hard-coding game data is a
            no-no. You need to have as much flexibility as possible when designing your maps,
            and this includes placement of characters in a level.  
             

            posted on 2007-12-10 19:47 lovedday 閱讀(475) 評論(0)  編輯 收藏 引用 所屬分類: ■ RPG Program

            公告

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            隨筆分類(178)

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

            搜索

            最新評論

            久久久亚洲裙底偷窥综合| 伊人久久无码精品中文字幕| 国内精品久久人妻互换| 国产精品久久亚洲不卡动漫| 亚洲嫩草影院久久精品| 久久经典免费视频| 性色欲网站人妻丰满中文久久不卡| 久久人妻少妇嫩草AV无码专区| 久久成人精品视频| 国内精品久久久久影院薰衣草| 国产精品久久亚洲不卡动漫| 亚洲午夜精品久久久久久app| 久久66热人妻偷产精品9| 久久久久人妻精品一区三寸蜜桃| 国产成人精品综合久久久| 大香网伊人久久综合网2020| 国产成人精品三上悠亚久久| 四虎影视久久久免费| 国产精品美女久久久久网| 亚洲国产成人久久综合碰| 精品国产91久久久久久久| 久久久精品久久久久久| 波多野结衣中文字幕久久| 亚洲欧美日韩中文久久| 欧洲国产伦久久久久久久 | 合区精品久久久中文字幕一区| 久久国产高潮流白浆免费观看| 亚洲人成无码久久电影网站| 26uuu久久五月天| av国内精品久久久久影院| 欧美精品丝袜久久久中文字幕| 国产精品狼人久久久久影院 | 久久亚洲天堂| 精品国产一区二区三区久久| 久久精品麻豆日日躁夜夜躁| 18禁黄久久久AAA片| 亚洲国产成人精品无码久久久久久综合 | 久久久久久毛片免费看| 久久精品无码一区二区日韩AV| 99久久免费国产精品| 久久99精品国产麻豆蜜芽|