青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

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

Putting Together a Full Game(5)

 

Developing the Scripts

You control all The Tower’s game content, such as dialogue, through the use of scripts.
The Mad Lib Script system is in use here. A single action template, Game.mla,
contains a number of actions that will be useful in your project. More than 200 lines
in length, the game’s action template is a little too long to list here, so I highly suggest
that you open the action template while reading through this section.

The action template is split into the following six groups of actions:

■ Script flow. Much like a standard program, scripts execute actions starting at
the beginning of the script. The script flow continues until the end of the
script. Scripts also use conditional if...then checking (checking the status of
internal flags and variables) to change the flow of the script’s execution.

■ Character control. This includes adding, removing, moving, and setting the
character’s AI settings.

■ Item controls. These check whether items exist and add and remove items
in a character’s inventory.

■ Barriers and triggers. This group of actions enable you to add, enable, and
remove map triggers.

■ Sound and music. You can play various sound effects and songs using this
group of actions.

■ Miscellaneous. A group of actions that doesn’t fit into the previously listed
groups.

You use the preceding actions to construct the game’s scripts. Once you construct
the scripts, you can use them to control the flow of the game. You trigger the
scripts used by the game in six ways—the player talking to another character, the
player touching a map trigger, and a character reaching the last route point in an
assigned route, entering a level, starting combat, or ending combat.

You name the scripts that are called when the player talks to another character
according to the character’s identification number, which you append to the word
char. For example, character #2 has a script file named char2.mls that is executed
any time the player clicks that character with the mouse.

You place map triggers in each level by using the script actions. Whenever a trigger
is touched, a script executes. You name the map triggers by using the word trig followed
by the trigger’s identification number—such as trigger #4 using the script
filename of trig4.mls.

When entering a level, use the word scene followed by the map level’s
assigned number. For example, when the character enters map #4, the
script file scene4.mls is executed.

The final three methods of executing a script use a three-letter script filename
that is appended with the
associated character’s identification number or map level number. For end-of-route
scripts, you use eor followed by the character’s identification number. For example, when character #2
reaches the last point on a route, the script named eor2.mls is executed.

For the start of combat, use soc followed by the map level number for the filename
of the script. The same applies to the end-of-combat method, except you use eoc—
for example, eoc3.mls, which is executed when combat ends in map level #3.

With the six script file-naming methods in mind, check out the following list of
scripts used in The Tower:

■ Char1.mls, Char2.mls, Char3.mls, Char6.mls, and Char7.mls. These are the
scripts that are executed whenever the player clicks a character with the
mouse. Characters 1, 2, and 3 are villagers, whereas characters 6 and 7 are
Granite and the Evil Lord, respectively.

■ SOC1.mls, SOC2.mls, SOC3.mls, SOC4.mls, and SOC5.mls. These are the
start-of-combat scripts for each level. These play only the third assigned song
in the game.

■ EOC1.mls, EOC2.mls, EOC3.mls, EOC4.mls, and EOC5.mls. The end-ofcombat
scripts typically restore the music to the level’s original song.

■ EOR0.mls, EOR4.mls, and EOR5.mls. Only three characters in the game
walk along routes—the player during the first level of the game, the demon
that is attacking the player in the village at the start of the game, and the
guard that runs to warn his Evil Lord.

■ Scene1.mls, Scene2.mls, Scene3.mls, Scene4.mls, and Scene5.mls. Each scene
starts by playing music and setting up all characters that belong in that level.

■ Trig1.mls, Trig2.mls, Trig3.mls, Trig4.mls, Trig5.mls, Trig6.mls, Trig7.mls,
and Trig8.mls. You use the map triggers solely to move the player from one
level to another whenever the player tries to leave a particular level.

The majority of the scripts are basic. For example, check out the trig2.mls script:

Set character id=(*0*) direction to (*0.000000*)
Teleport character id=(*0*) to map (*1*) at (*100.000000*) (*0.000000*) (*-170.000000*)

The purpose of the trig2.mls, which is placed in the second scene (the bridge), is
to teleport the character to the first map (the village) and to change the player’s
direction. To see a more advanced script, check out scene4.mls, which is executed
when the player enters the fourth level:

// (*Store scene #*) //
Set variable (*1*) to (*4*)
————————————-
// (*Play scene music *) //
Play music (*1*)
————————————-
// (*Add teleporter triggers *) //
Add triangle trigger id=(*6*) at
(*-177.00000*) (*200.000000*) (*-144.000000)
Add triangle trigger id=(*7*) at
(*177.00000*) (*200.000000*) (*210.000000)
————————————-
// (*Add Granite is not killed already *) //
if flag (*8*) equals (*FALSE*) then
Add character id=(*6*) definition=(*3*) type=(*NPC*) at XPos=(*170.000000*) YPos=(*0.000000*) ZPos=(*-60.000000*)
direction=(*3.925000*)
Set character id=(*6*) AI to (*Stand*)
EndIf

Although it’s certainly much longer than the other scripts in the game, the
scene4.mls script is fairly simple. The script starts much like the other scene scripts
do—by storing the scene’s map number in variable #1 and playing the level’s associated
song. From there, two triggers are placed in the scene that teleport the
player back down to the ground level of the tower or to the Evil Lord’s chamber.

Finishing up the script, flag #8 is checked, and if set to FALSE, a character is added
to the level. This character, Granite, is character #3 in the master character list. In
the game engine, Granite is assigned the character identification number 6. At
first, Granite begins as an NPC (non-player character), merely standing still and
waiting for the player to speak to him.

When he is spoken to, Granite’s script is processed—some words are exchanged
between Granite and the player, and then Granite’s type is changed to Monster.
When the player dispatches Granite, the end of combat script sets flag #8 to TRUE,
thereby skipping the portion of the scene4.mls script that adds Granite to the map
when the player reenters scene #4. Ingenious, isn’t it?

In the section “Processing Scripts,” later in this chapter, you find out how the
scripts in The Tower are processed. As for now, move on to defining how the player
interacts with the game.

posted on 2007-12-28 18:48 lovedday 閱讀(315) 評論(0)  編輯 收藏 引用


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


公告

導(dǎo)航

統(tǒng)計

常用鏈接

隨筆分類(178)

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

搜索

最新評論

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            99热在这里有精品免费| 欧美日韩hd| 免费日韩av电影| 欧美在线你懂的| 亚洲欧美精品在线观看| 亚洲综合色在线| 欧美在线观看一区二区三区| 欧美一区二区三区电影在线观看| 亚洲在线视频| 久久久精品动漫| 久久亚洲综合色| 久久只有精品| 亚洲国产精品成人久久综合一区| 狠狠干综合网| 国产一区白浆| 在线观看亚洲专区| 亚洲麻豆av| 午夜精品网站| 麻豆精品视频在线| 亚洲精品久久久久久久久久久久久 | 中国成人亚色综合网站| 9国产精品视频| 欧美一区二区三区视频在线| 免费视频一区| 一区二区三区四区国产精品| 欧美在线视频网站| 欧美成人免费全部| 国产精品av一区二区| 国产资源精品在线观看| 亚洲美女av在线播放| 欧美伊久线香蕉线新在线| 女主播福利一区| 亚洲已满18点击进入久久| 美女精品一区| 国产午夜精品久久久久久免费视| 亚洲国产精品999| 欧美一区二区三区免费在线看| 欧美高清视频在线| 亚洲欧美日韩网| 欧美日本在线看| 136国产福利精品导航网址应用| 亚洲小视频在线观看| 欧美成人嫩草网站| 欧美一区午夜精品| 国产精品vip| 日韩一级免费观看| 久久综合色影院| 亚洲自拍啪啪| 欧美日韩综合在线免费观看| 亚洲精品一区在线| 欧美电影在线观看完整版| 欧美一区二区大片| 国产精品久久午夜夜伦鲁鲁| 日韩视频一区二区三区在线播放| 久久久国产亚洲精品| 亚洲欧美日韩一区在线观看| 欧美性猛交一区二区三区精品| 在线欧美电影| 欧美成人午夜激情视频| 久久精品人人做人人爽电影蜜月| 国产精品久久综合| 欧美亚洲视频在线观看| 中文在线一区| 国产精品久久久久秋霞鲁丝 | 欧美三级日本三级少妇99| 欧美激情精品| 亚洲国产综合在线看不卡| 久久嫩草精品久久久精品| 性久久久久久久| 国产欧美精品在线| 欧美一级专区免费大片| 亚洲一线二线三线久久久| 国产精品二区影院| 亚洲欧美在线一区| 亚洲综合色激情五月| 国产精品影片在线观看| 校园激情久久| 欧美一区二区免费视频| 国内精品视频一区| 美女网站久久| 老色批av在线精品| 一区二区欧美日韩| 99国产精品久久久久老师| 欧美亚州在线观看| 久久国产精品久久国产精品| 久久久久欧美精品| 亚洲精品综合精品自拍| 亚洲人成人99网站| 国产精品丝袜久久久久久app| 久久国产黑丝| 欧美国产日韩在线观看| 亚洲素人一区二区| 欧美在线不卡| 亚洲伦理在线观看| 亚洲在线观看| 影音先锋久久精品| 亚洲人成网站777色婷婷| 国产精品视频自拍| 欧美一区视频| 嫩草成人www欧美| 亚洲欧美在线aaa| 久久综合伊人77777蜜臀| 日韩午夜激情电影| 欧美一区二区三区视频| 亚洲精品久久久久久下一站| 一本色道久久综合亚洲精品高清 | 欧美电影免费观看| 午夜久久美女| 麻豆成人在线观看| 久久爱另类一区二区小说| 欧美风情在线| 久久综合亚州| 国产精品美女久久久久久久| 欧美v国产在线一区二区三区| 国产精品美女久久久| 亚洲国产欧美日韩另类综合| 久久久噜噜噜| 欧美亚洲一级片| 欧美日韩高清在线播放| 欧美第一黄色网| 国产一区99| 亚洲资源av| 亚洲欧美日韩国产一区二区三区| 免费在线成人| 黄色在线一区| 亚洲一区二区三区视频| 中文无字幕一区二区三区| 老巨人导航500精品| 久久精品在线观看| 国产亚洲亚洲| 欧美一级片久久久久久久| 亚洲欧美一级二级三级| 国产精品久久久久一区二区三区共| 亚洲人成艺术| 在线亚洲观看| 欧美日韩国产综合在线| 亚洲精品视频中文字幕| 日韩天堂在线视频| 欧美日韩国产综合久久| 亚洲免费观看视频| 一本色道久久88综合亚洲精品ⅰ| 欧美成人亚洲| 亚洲精品国产精品国自产观看浪潮| 亚洲日本在线观看| 亚洲一级片在线看| 亚洲午夜伦理| 国产精品视频xxx| 亚洲欧美激情视频| 久久福利毛片| 一区在线观看| 美女主播一区| 亚洲黄色成人| 亚洲欧美亚洲| 亚洲二区三区四区| 欧美日韩1234| 欧美一区二区三区在线观看| 久久综合网hezyo| 亚洲美女区一区| 国产精品久久久久久久久果冻传媒 | 六十路精品视频| 亚洲黄色大片| 欧美日韩国产三区| 香蕉尹人综合在线观看| 六十路精品视频| 中文国产成人精品| 国产欧美精品在线| 欧美v亚洲v综合ⅴ国产v| 亚洲精品视频在线观看网站| 午夜精品亚洲| 亚洲免费黄色| 国产一区二区精品| 欧美电影免费观看网站| 亚洲欧美日韩精品在线| 欧美成人dvd在线视频| 夜夜夜久久久| 韩国一区二区三区在线观看| 欧美激情精品久久久久久久变态 | 久热综合在线亚洲精品| 亚洲免费精彩视频| 久久夜色精品国产| 亚洲一区二区三区视频| 欲香欲色天天天综合和网| 欧美日韩一区二区在线视频 | 欧美一区激情| 亚洲欧洲精品一区二区三区波多野1战4| 亚洲夜间福利| 亚洲精品视频免费观看| 国产精品自在在线| 欧美ab在线视频| 欧美一级二区| 亚洲人成77777在线观看网| 久久躁日日躁aaaaxxxx| 亚洲影院在线| 亚洲精品国产品国语在线app| 国产亚洲女人久久久久毛片| 欧美色欧美亚洲另类七区| 毛片av中文字幕一区二区| 午夜日韩福利| 亚洲欧美中文日韩在线| 亚洲看片一区|