Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2207586
  • 博文数量: 436
  • 博客积分: 9833
  • 博客等级: 中将
  • 技术积分: 5558
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-29 10:27
文章存档

2013年(47)

2012年(79)

2011年(192)

2010年(118)

分类:

2010-11-02 19:53:58

 

                                                  第四次报告

本周工作主要是帮助文档翻译和实际操作

第一部分:resoruces

Introduction

Torque Game Builder (TGB)提供了许多有特点的设计去提高运行的能力。其中一个特点是可以创造一个艺术资源。一个艺术资源是一组图片,通常和主题类似,他们已经在TGB中建立去为用户进行简单的操作。这里面包括了所有的静态和动态事物。资源有许多的好处。最重要的是他们很容易去导入一个TGB工程。除了方便导入图片之外,整个的包可以适当的被建立和命名。其次,因为资源并不只属于一个工程,而是可以轻易的被很多工程共享。最后,因为资源并不是一个工程所专有的,它帮助开发者避免创造更多无用的的副本。

Getting Started

首先要打开TGB,当TGB运行时,点击FILE,选择Open Project and find the project named games/TutorialBase/project.t2dproj

当你打开工程的时候,可以在右面的窗体看到许多不同的静态和动态的图片。现在一切已经就绪了,如果你想用其他的的图片,就必须将其他图片复制到这个新的工程中,新建号名字和模式。然后就可以方便的使用了

首先,我们需要新建一个文件夹去存放这些,在TGBInstallationDirectory\tgb\resources文件夹中。在这里面你就能看见目前所有可以使用的资源。

  在这个文件夹中我们需要建立属于自己的文件夹。所以要为它取名,一旦你创建看你的文件夹,就要整合这些资源。

Putting Together a Resource

  现在我们已经为这些资源建立好文件夹,那就要正确的把这些图片放在里面。关闭TGB并且选择好路径TutorialBase\game\data 文件夹,复制全部的图片带这个文件夹中。现在我们就将这些图片导入到资源文件夹中了。

  如果我们希望这些资源可以正确的运行,我们需要增加一个文件到这个文件夹中。这里面包括了所有的代码。所以需要建立一个同样名字的文件resourceDatabase.cs。当即浏览其他西元文件夹中,你会看到这个文件。同时还需要复制其中的一个文件到你的文件夹中。如果没有其他资源或者resourceDatabase,创建一个纯文本文件,加入以下的代码:

// Create Resource Descriptor

$instantResource = new ScriptObject()

{

Class = "testArt";

Name = "testArt";

User = "TGB";

LoadFunction = "testArt::LoadResource";

UnloadFunction = "testArt::UnloadResource";

};

 

// Load Resource Function - Hooks into game

function testArt::LoadResource( %this )

{

// Update Object library once datablocks are loaded.

GuiFormManager::BroadcastContentMessage( "LevelBuilderSidebarCreate", 0, "refresh" );

}

 

// Unload Resource Function - Remove from game Sim.

function testArt::UnloadResource( %this )

{

// We must clean up all the mess we've made in the Sim.

if( isObject( %this.Data ) && %this.Data.GetCount() > 0 )

{

while( %this.Data.getCount() > 0 )

{

%datablockObj = %this.Data.getObject( 0 );

%this.Data.remove( %datablockObj );

if( isObject( %datablockObj ) )

%datablockObj.delete();

}

}

// Update Object library once datablocks are removed.

GuiFormManager::BroadcastContentMessage( "LevelBuilderSidebarCreate", 0, "refresh" );

}

 

// Resource Data

$instantResource.Data = new SimGroup()

{

canSaveDynamicFields = "1";

};

我们缺少一为这些资源定一个数据块,并且你会注意到所有为这些资源的名字为testart。这对正确使用这些图片何有帮助。因此,在这个实例中,你将替换原来的资源数据库,我们需要将所有的数据块定义。这些定义可以在TutorialBase\game\managed folder in your datablocks.cs 文件中找到。打开这个文件可以看到以下代码:

$managedDatablockSet = new SimSet() {

canSaveDynamicFields = "1";

internalName = "Datablocks";

在这些代码后面是所有的数据块定义。复制一下所有的代码,除了最后一行,像这样:

}

其他的所有也应该从文件复制到其中。当你复制完之后,打开资源数据库找到一下代码:

// Resource Data

$instantResource.Data = new SimGroup()

{

canSaveDynamicFields = "1";

};

并且粘贴数据块定义到下列位置:

// Resource Data

$instantResource.Data = new SimGroup()

{

canSaveDynamicFields = "1";

 

//PASTE DATABLOCK DEFINITIONS HERE

};

保存这些资源数据库,并且运行TGB

Importing Our Resource

  运行TGBNew Project and create a new project named “testProject”。创建一个没有任何图在其中的工程,导入这些资源。点击testArt,并且点击增加工程按钮。完成这个步骤之后,这些资源将移动到正确的工程资源列表中,然后点击保存完成导入。

Conclusion

  到这里,我们就完成了这部分的工作,如果你想移动这些资源,只进入资源对话框,选择这些资源,并且点击移动按钮并且保存。正如你看到的,一个资源不仅很方便,而且很有效率。

(以上由石佳负责)

 

第二部分 路径

在这一课中,你将学习如何创造路径和把对象添加在TGB上。一个方法是一系列被称作“节点”的点,这些点是用各种方式连接在一起。这个场景编辑工具,提供了一种途径可以创建和修改路径,可以添加对象。

TGB路径对象(t2dPath)是一个场景的物体,所以它可以做一些事情如有速度,反应于物理、甚至附加到另一条路径。这一课中,我们将会Torque Game Builder项目TutorialBase建造。

运行Torque Game Builder。如果项目还没有载入,选择从文件菜单中打开项目,然后从列表选择TutorialBase/project.t2proj点击OK。如果你以前创建过项目它就会载入。是这样的话,就从文件菜单中选择New Scene(新场景)。

创建路径:

选择右侧容器中要创建的标签,滚动侧边栏,点击并把arageGames标识的标注路径拖动到进入你的场景(如图1所示)

    

    图1

显然,刚才你的动作看起来似乎没有发生太大的变化,但是刚刚你所的行动已经触发了路径工具。路径工具允许你去创建,移动,删除路径节点。创建一个节点,仅需点击一下场景中的某一处就可以了。移动任何一个节点,你可以点击住这个节点并用鼠标拖动。

删除一个节点,用右键点击这个节点就可以了。你会注意到它的路径节点遵循捕捉设置的编辑器就像上浆和移动对象。关掉网格掰,点击编辑菜单下的参数菜单项。在这个场景编辑选项中,取消吸附到X轴和吸附到Y轴的打勾项。

创建一个有四个节点的路径。当你做完时,按回车键或点击工具栏上的箭头(标记的选择工具)。这是非常重要的,创建一个0节点的路径可能导致错误。这里是我创建的一条路径(如图2)

    

                           图2

添加一个对象:

现在,通过从右侧图片库中把图片拖动到场景中。我用GarageGames标志。用鼠标选中这个图片,新创建的对象的组件将会出现。选择一个标记着Mount this object to another object的组件(如图3)

                                                             3

这个对象将被连接到你的鼠标,无论你拖到哪,它都会跟随你的鼠标动。如果鼠标快要一个节点了,对象会断掉。当这一切发生的时候,你可以点击鼠标左键,物体将会获得自身默认设置的路径(如图4)

                        

       

                           图4

现在,选择文件菜单栏下的另存为菜单项,为你的图层输入一个文件名,点击确定。然后,选择从Project菜单栏下选择Run Game。你应该能看到一个黑色的屏幕上会显示出你创建的标志着GarageGames的物体自动的按着你创建的路径移动。如图5、图              

            

 

                  5                                                                                 6

      

              

                   7

当然,它移动的有点慢,也许也不是按照你想要的方向移动。幸运的是,你还可以特别设置路径对象的参数。

编辑路径对象:

确保选中了标志GarageGames的对象,然后点击右侧容器中的Edit标签,滑动滚动条到标记Pathing的位置上点击展开这一项(如图8

                                                        8

下面简洁的描述了各个区域的功能:

Start Node-----起始点就是在路径上的对象开始移动的点。点击左键或右键,这个路径对象就会移动到相应方向的节点处。

End Node-----末节点限制了路径对象移动的最终路径点。该节点是物体已经完成了一定数量的循环后停止的点,或者是它将履行Follow Mode选项下设置的ReverseRestart模式行动的点。如果Follow Mode选项下的Wrap被选中并且Loops选项是-1这个选项不会产生任何效果。

Speed------这是物体每秒物体所走路径的世界单位。

Move Forward-------这一项不打勾,对象在沿着路径转弯时就会翻转方向。

Orient To Path------选择此选项会使对象根据自身走的方向自转。

Rotation Offset------rotation offset只在选中Orient to Path影响物体。旋转偏移量为零,顶部的物体将会面向它移动的方向移动。改变这个属性允许你指定对象准确的旋转角度。

Loops-----这个参数指定对象循环移动的次数。指定的默认值-1代表无限的循环。当循环次数已经到达限制的次数时,物体将会停止在最后的节点上。

Follow Mode-----follow mode就是告诉对象到达最终节点时处理对象的模式,一共有三种模式。在Wrap模式时,物体将会继续在相同的方向沿路径走。在Reverse模式下,物体将会改变自己的方向,它的起始点会变成终节点。在Restart方式下,对象将回到开始节点后达到最终节点。

所有这些选择都是应用在特别的路径对象上,不是路径本身。因此,如果你有几个物体连接到同一路径,它们都可以设定出各不相同的效果。

编辑路径:

路径可以在创建后编辑。选中路径点击Edit this path标签,如图9

         

         

                                                         9

这个操作将会触发路径工具,允许你去创建,编辑,或者删除节点。路径也允许你指定插入节点的方式。这里有四个选项可供你选择。如图10

 

10

下面是各种类型的描述:

Linear----它是默认的,仅仅是对象沿着直线从节点到节点的移动。

Bezier---- bezier方法用立方bezier曲线尺创建出一个插入节点与节点间的曲线。每个节点都是路径中的一部分。Bezier路径有两个附加的参数,Rotation Weight

选择了Bezier后,这些参数就可以通过点击并拖动手柄去设置。如图11

 

                                                            11

catmull-----catmull类型用Catmull-Rom齿条插入到每个节点之间。这种方式不需要额外的着急,它会自动的生成一条平滑的曲线路径穿过每个节点。

custom------custom方式实际上不是自动的移动物体。而是执行一个可以在脚本中定义的回叫信号来移动物体。这将在你遇到一条有敌人跟随你路径的地方,你不想让它直接跟随你的时候有用。这样,敌人可能依然会像遵循碰撞和引力一样,但仍然很容易定义和跟随路径。回叫信号看起来就像下边所示的:

function t2dPath::onUpdatePath(%this,%object,%from,%to)
{
   //%this is the path object.
   
   //%object is the object following the path.
   
   //%from is the position of the most recently passed node.
   
   //%to is the position of the node being moved toward.
}

结语:这节已经涵盖了TGB路径对象的所有特征。想要弄明白这些特征放在路径对象上有什么影响的最好办法就是去做实验。路径对于特定类型的游戏和菜单屏幕是很有用处的。但是它们最棒的效果来自于它们自身与微小效应的结合,而使得屏幕看起来很有水平。试试吧!

 (以上由李萌负责)

 

 

第三部分   音频教程

介绍:

音效是游戏中一个重要的组成部分,就其本身而论,Torque Game BuilderTGB)提供给用户一个强健的声音管理系统,为了更好的在游戏中指定和使用音效。在这篇教程中我们将告诉你怎样制作你自己的声音的描述和型材,加载你的声音到游戏中,然后向你展示一些如何在TGB中操作声音的方法。关于这个题目的更多的参考请到提供涉及TGB参考的文件中查找。

 

设立我们的声音文件:

我们的第一个命令是得到一些声音文件。在你的游戏/反应器/数据/音频夹中你将看到一个在演示中使用的声音文件:BLIP.WAV.作为这次指导的目的,我们将使用它。复制文件然后把它粘贴到你的games/TutorialBase/game/data/音频夹中。你可能已经猜到了我们打算使用TutorialBase这个项目来测试我们的声音。

    为了TGB访问的声音,他们必须有音频的描述和一个音频型材。音频的描述设置声音的属性和声音的名字,描述用来使用,音频的文件作为参考。这次指导,我们将建立两个音频的描述,一个作为循环播放的声音,一个作为不循环播放的的声音。

操纵你的games/TutorialBase/game/gamescripts文件夹,然后建立一个新的.cs文件命名为“audioDatablocks.cs”.。音频描述和型材可以在脚本中被使用到;然而,为了组织的目的,我们将创建我们的音频编码在一个单独的文件中。首先,我们需要建立我们的音频描述。添加后续的代码到你的

 

audioDatablocks.cs文件中:

new AudioDescription(AudioNonLooping)

{

volume = 1.0;

isLooping= false;

is3D = false;

type = $GuiAudioType;

};

new AudioDescription(AudioLooping)

{

volume = 1.0;

isLooping= true;

is3D = false;

type = $GuiAudioType;

};

这个代码仅仅设置了两个新的音频描述,一个是循环的音,另一个是非循环音。下一步,我们需要两个音频型材,一个是每一个人的声音在本课题中使用。下面这些代码加入到你的音频描述:

// --------------------------------------------------------------------

// Background Loop.

// --------------------------------------------------------------------

new AudioProfile(backgroundAudio)

{

filename = "./game/data/audio/BLIP.wav";

description = "AudioLooping";

preload = true;

};

 

// --------------------------------------------------------------------

// Single Blip.

// --------------------------------------------------------------------

new AudioProfile(blipAudio)

{

filename = "./game/data/audio/BLIP.wav";

description = "AudioNonLooping";

preload = true;

};

 

正如你所看到的,我们每一个人的音频型材有特定的其中的早期我们创造的两个音频描述。他们也参考每一次我们使用的路径的声音。这应该是足够的代码让我们的音频工作--确保执行你的audioDatablocks.cs在游戏.cs中,以至于TGB将运行代码。

 

测试我们的声音:

现在,我们将来测试我们的声音文件然后展示给你一些Torque Game Builder可以操纵声音的方法。自从我们定义了我们的音频描述和型材,我们被给予使用一些指令来让我们的声音文件更加容易的操作。打开Torque Game Builder,然后通过选择从文件菜单中打开工程加载你的TutorialBase当你拿到你的项目的负载之后,立即点击播放按钮。注解:如果你加载了一个还未保存的,你将不得不保存

它之后才可以玩。

     一旦你进入到游戏中,击中字符(~)键来控制台。我们首先要告诉你如何做的时候会有声音。在控制台里面,进入下一行:

 

alxPlay(blipAudio);

     

当你点击回车,你应该会听到这个声音播放一次然后接着停止。你将注意到我们通过alxPlay功能这个名字的音频。这个alxPlay函数返回一个句柄;然而自从这个声音播放一次就消失了,这是没有必要去保存那个处理的。但是,这并非总是如此,正如我们已经证明。

 

下一步,将接下来的行敲入你的控制台:

 

$sound = alxPlay(backgroundAudio);

 

当你点击回车时,你应该听了丁点音轨的播放。自从这个音频剖面采用循环的描述,它应该继续一遍一遍的播放。你会注意到此时此刻我们保存我们的音频处理在一个全局变量$的声音。接着将这些敲入控制台:

alxStop ($sound);

你的声音应该立即停止。你应该注意这个alxStop命令仅接受声音处理由alxPlay作为一个参数。除了停止单一的声音,有一个可以将所有正在播放的声音都停止的函数。敲入下列命令到你的控制台四次或五次,点击进入之间命令:

alxPlay(backgroundAudio);

当你使用那个命令23次后,你将听到一些相当可怕的东西:多声道不协调的播放。敲入下列命令道你的控制台:

alxStopAll();

这将停止一切正在播放的声音。

结论:

这篇教程一步一步教你创建音频描述和型材.另外,已经展示给你一些在你的场景中你可以操纵声音的指令,请参阅包含Torque Game BuilderTGB参考文献。(以上由任秋双负责)

 

第四部分  文件输入输出

Introduction

Torque Game Builder (TGB)赋予用户通过利用FileObjects可以简单读和写他们自己特定文件的能力。在这份指导中我们将要动态的通过代码书写一份文件然后将其写入我们的控制台。为了获得更多的关于基于TGB文件输入输出的信息,请参考TGB Reference 文件夹。

 

Writing a file

首先,我们将要创建一个新的.cs格式文件,将其放在our games/TutorialBase/game/gameScripts folder.路径下 ,将此文件命名为FileIO.cs”我们将要通过TutorialBase project创建文件因为它是所有Torque Game Builder用户都应该有的项目。我们首要做的事是在我们的脚本里创建一个将会写入一个文本文档的简单功能。在我们文件的首部,加入第一个功能:

代码为:

function writeFile()

{

%file = new FileObject();

 

if(%file.openForWrite("./game/data/test.txt"))

{

%file.writeLine("Hello World!");

echo("File Written");

}

else

{

error("File is not open for writing");

}

%file.close();

%file.delete();

}

这项功能相当明确:它创建了一个新的FileObject类型的实体。在windows vistawindows 7系统中都有特定的文件区域。如果你需要修改安装在安装目录的相关文件,用户必须在管理员模式运行你的游戏,这点很不好。因此,所有的数据被放在the %APPDATA%目录中(在XP,VistaWin7中)。你应该用同一目录去存储文件和装载文件。从你的关点,它不要紧。如果你存储了"game/data/saveFile.sav",你将想要运行"game/data/saveFile.sav"。更多的细节,你可以去我们的论坛阅读。

接下来,它将检查我们将要写的文件是否开启已做好写入的准备(这种情况,这个文件还没有存在,我们的代码将会创建它)。如果这个文件已经开启做好了写入的准备,它将在文件中显示“Hello World”。然后,我们将会在控制台告诉代码给我们一个批准去写入。如果openForWrite检查失败,控制台将会收到一个与用户行为相关的错误信息。最后两行被清除:代码关闭我们刚才进行写的文件并且删除我们在功能一开始创建的实体文件,因为我们不再需要它。

 

我们现在应该测试这个代码。确定你在the game.cs文件中加入了一个exec call以便你的新代码将会装载进去。一旦你的代码完成,是时间打开TGB并且测试它。

 

Testing Our File

打开你的TGB副本,也可以通过点击桌面图标或是在开始菜单找到它。一旦你打开它,我们将会需要通过点击在文件菜单中的Open Project打开TutorialBase项目(如果它还没有打开)。我们也需要通过选择文件菜单中的New Scence创建一个新场景。打开场景后,按“~”调出控制台。

我们将会很快速的测试我们刚才所写代码的功能。在控制台界面输入writeFile();”然后点击回车。马上,我们将会得到一个响应指令批准我们的文件被写入。(图1

 

1

如果你没有收到File Written”,的批准,确定检查你的代码和指令的正确运行。现在我们已经写入了我们的文件,我们应该去检查它所在的位置。依据我们的代码,我们将文件创建在./game/data/test.txt(点跟随teh slash,代表了相关路径games/TutorialBase)。依照路径寻找,你应该看到你新创建的文件在你新创建的文件夹中。打开你的test.txt文件,你可以看见“Hello World!”独立的在文件首部。(图2

 

 


                            图2

现在我们已经看到了写入系统如何工作,让我们看看读系统怎么工作。

Reading in a File

当你打开你的test.txt”文件,在文件写入几行语句。(图3

 

                                 图3

当你结束了语句的写入,将文件保存在TutorialBase/game/gameScripts folder的路径下并且运行你的fileIO.cs 文件。在文件中加入right功能在我们刚才创建的那个文件的下面。

代码为:

function readFile()

{

%file = new FileObject();

 

if(%file.openForRead("./game/data/test.txt"))

{

%x=1;

while(!%file.isEof())

{

%line = %file.readLine();

echo("line" @ %x @ " = " @ %line);

%x++;

}

}

else

{

error("CANNOT OPEN FOR READ");

}

%file.close();

%file.delete();

}

这段代码与上一段的功能相似。首先它创建一个新的FileObject。接下来,它检查我们尝试要阅读的文件是否打开做好了读的准备。如果是,我们开始一段while循环,只要没有到文件的结尾一直运行,指定当前的行被阅读并反馈到控制台。如果文件没有打开做好读的准备,控制台将会收到一个通知用户的错误信息。一旦你修改了代码,保存你的文件并且回到TGB

当你回到TGB后,再次测试你的程序并且打开控制台。当控制台打开,输入readFile();并且按回车。你这样做后,将会在你的控制台看到图4的东西。


                               图4

 

如你所见,我们在文件中键入的内容在控制台被反馈回我们。

 

Conclusion

我们花费很小的力气创建一个文档然后在控制台让其内容被读回给我们。看出一个像这样的系统的潜力并不难,认真完成。如果你需要关于这个话题讨论的更深一步的了解,请求助TGB Reference 文件。

 (以上由马丹惠负责)

第五部分   TGB——3D图形教程

入门指南

在此教程中,你将学习怎样使用TGB软件的3D Shape3D文件格式在TGB中是’.dts’格式。

其他Garage Games产品使用的格式也和TGB上的一样。在Garage Games网页上有很多关于使用多种3D制图程序组来创建这些文件的教程和参考文档。我们不需要去那寻找帮助。这个教程假设你已经将3DShape创建并且已转换为.dts.格式。

1)启动TGB并且创建一个新的工程,从文件菜单中选择“New Project”,将新建的工程命名为“Shapes”,使用“EmptyGame”工程样板,这是在你的“TorqueGameBuilder/Games”文件夹下创建一个新的名为“Shapes”的文件夹。

2)现在我们需要添加一个3D图形在“Shapes”工程中。当你创建你自己的游戏时,你会用你自己的一些东西,但是现在我们只是要复制一些教程基础中存储在“data/shapes”文件夹中的以供给TGB.3DShapes的一些文件,所以现在打开你的文件浏览器并且浏览“TorqueGameBuilder/Games/TutorialBase/game//data/shapes”文件夹,复制这些名为“player.dts ”和“player_blue.jpg.”的文件并粘贴到“TorqueGameBuilder/Games/Shapes/game/data/shapes”文件夹下,这两个文件是一会将用到的制图中的图形文件和图像文件。

3)重新加载你的工程文件。你可以关闭再打开TGB或者从文件菜单中选择“Open Project...”来打开一个不同的工程,达到重新加载的目的。

Using Your 3D Shape In The Level Builder

 

现在你可以在对象选择器里找到你player.dts模型。在创建标签下,点击“Shapes”,拖动图形到屏幕上,你还可以调动大小,但是不要使它旋转。

 

现在我们在屏幕上就看到了一个3D图形,现在检查属性以便于我们可以对它进行编辑。现在到编辑标签并且检查3DShapes选项是在最顶端。这里你将会看到四项属性:Angular Velocity角速度:“X,Y,Z”的大小),Rotation旋转角度),Offset偏移)和Scale规模尺寸)。“X,Y,Z”选项是图像的坐标抽。‘X’:左右旋转;‘Y’:上下旋转;‘Z’:内外旋转,放大图像使用‘+’键。

角速度属性适用于一个恒定旋转的物体。将角速度属性中的‘Y’值设定成20,你将会看到物体向后旋转。当你看完后再把‘Y’值重新设成0。

 

Angular Velocity:在选择的轴线周围,设置恒定的速度旋转

Rotation:设定一个旋转值。注意:因为3D数学的一些并发症,沿不同轴线旋转将会引起一些不可预料的影响。

Offset沿着轴线移动3D Shape。注意:不能移动物体向着或离开镜头处,因为

TGB是一个二维世界。

Offset物体在3D空间内的尺寸。注意:不能把物体的大小设定过大或过小,使之不再镜头内,还是因为TGB是一个二维世界。

Accessing A 3D Shape In Code

在代码中访问一个3D图形

在3D Shape中的一个特殊的3D功能就是通过目标的类别进行使用,就像其他一些TGB场景目标一样。还有很多教程关于类别功能的深入讨论。在这一教程中,假设你已经了解了基础部分,我们就直接跳到这个简单的例子中。

首先,在编辑标签的“Scripting”选项中,在class类别中键入“player”。然后,将下面的编码添加到 game/gameScripts folder:”中每个“game.cs”文件中的最低端。

sceneWindow2D.setUseObjectMouseEvents(true);
 
function player::onAdd(%this)
{
   %this.setUseMouseEvents(true);
}
 
function player::onMouseDown(%this, %modifier, %worldPosition, %mouseClicks)
{
   %this.setShapeAngularVelocity(0,20,0);

}

为了激活这段代码,我们将再次重新加载这个工程。现在按下在工具栏的“Play Level”按钮。当你点击目标,它将开始旋转。

In Conclusion

最后

这个教程已经给你使用3DShapes最基本的要素。你可以在TGB找到更多一些关于3DShapes的参考文档。你还可以在t2dShape3D下的TGB参考资料中找到所有关于3D物体可能用到的功能的简要的文件材料。

(以上由于春雪负责)

 

 

                                个人总结:

--------------------------------------------

石佳:这周通过对帮助文档的阅读以及翻译,我学会了如何导入素材,用来满足下一阶段设计游戏时的各种素材的需要。不光如此,我也TGB进行了操作练习,熟悉了基本功能的操作,因为软件也是全英文的,所以有些时候用的还是很不习惯,还需要借助翻译软件的帮助。通过一周的学习,可以基本实现物体的简单运动,如碰撞等等效果。由于没有几周的时间了,所以下周计划,寻找下游戏所需的素材,为后续工作做准备。

------------------------------------------------------------------------

李萌:在这个阶段我们组了解了torque开发平台的各项功能,因为都是英文的,因此每个组员都相应的分配了任务,每个人都去了解torque的一项功能,我主要是学习了路径对象这一部分。通过路径对象的应用,我可以设定一条自定义的轨迹,然后设定好一个将要运行的对象,然后就可以使这个对象沿着我最初设定好的路径运动了。在我按照说明亲身实验的过程中,我对路径对象的功能有了更深刻的了解与掌握。

------------------------------------------------------------------------

任秋双:在这一周里,我主要负责翻译并实现了Torque Game Builder中关于音频的教程,这篇教程主要告诉我们怎样制作你自己的声音的描述和型材,并将自己设置好的声音加载到游戏中,然后向展示了一些如何在TGB中操作声音的方法。通过翻译并且学习这篇教程,我学会了如何设置声音文件并将其加载到游戏中,然后在游戏中对其进行操纵。其中实现过程中最主要最核心的是一以“audioDatablocks.cs”命名的文件,其中记录的是为了使TGBTorque Game Builder)能够访问声音的音频描述和音频型材的代码。进入到游戏中,通过击中字符(~)键来控制台

    学习音频描述和音频型材的设置是非常重要的,在以后我们的2D游戏开发好之后,可以向我们的游戏中添加进声音的文件,预先学习好之后可以使我们的后续工作更加简单。

------------------------------------------------------------------------

马丹惠:这周我的主要工作是对部分英文帮助文档进行了翻译。我所翻译的部分是关于文件的输入输出部分。同过阅读这部分文档,我对输入输出流程有了一定的了解,并进行了实际的操作。首先是通过一段代码创建一个新的FileObject类型的实体。接下来测试代码的功能。在控制台界面输入writeFile();”然后点击回车。将会得到一个响应指令批准文件被写入。打开test.txt文件,可以看见“Hello World!”独立的在文件首部。可以在其中再写入一些语句,将文件保存在TutorialBase/game/gameScripts folder的路径下并且运行之前的fileIO.cs 文件,加入第二段代码,然后又进行了一系列的测试,与代码1差不多,这里不再赘述。

过去一直认为读帮助文档有的时候是浪费时间,应该在实际应用中去探索。但这次所用的软件很专业而且是全英文,所以阅读帮助文档是非常有必要的,它可以让我们少走许多弯路。

----------------------------------------------------------------------------------

于春雪:这周我对Torque游戏引擎中3D Shapes指南部分,将英文版本进行翻译并且熟悉使用该功能。在这部分功能中,就是对一个图形进行在三维世界里的运动。通过调整它的角速度、轴旋转以及位移量的大小,使该图形可以在三维空间里运动。
遇到的问题:对于“通过代码访问一个3D图形”部分,我开始按照指南所说的操作时,不知道为什么添加代码总是失败,后来就交给组长进行解决。

----------------------------------------------------------------------------------

组长:牛绍勇

小组成员:李萌,任秋双,马丹惠,石佳,

          宋欢,王竟雄,于春雪,田冲,王梦婕

阅读(1481) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~