1.?数控数控????и?Դ??
2.大家好!有个有关数控线切割的切割切割知识我不知道怎么改了,如图我做了个第一幅图的源码源码程序,但是数控数控在运行的时候却得
?????и?Դ??
在二十年前,电脑还是切割切割大背头的时代,Windows的源码源码ie-mesjava源码「休闲小游戏」是我们的回忆。纸牌、数控数控扫雷、切割切割空当接龙……满满的源码源码回忆。然而,数控数控最近,切割切割来自美国肯尼索州立大学的源码源码四位小哥,用开源电子原型平台Arduino从零开始复现了另一款Windows经典小游戏——三维弹球 (3D Pinball)。数控数控从3D建模、切割切割代码编写到动手施工,源码源码他们以最专业的方式向童年致敬。
其中一位小哥说:建造这样一个项目,是我的童年梦想。不仅如此,他们还提供了打造现实版「三维弹球」的教程,只需9步,你也可以打造一台属于自己的三维弹球。
首先,我们回忆一下这款经典的Windows小游戏。开局,球会从右下角的管道被弹出,然后在桌面自由滚动,碰到不同的障碍物会拿到不同的分数,只要保证它不从底部中间的缝隙掉出去就可以。
那么,四位小哥打造的「三维弹球」,长啥样呢?模型是这样的,实物则是完美复现了小游戏中的场景——从管道的位置,到障碍物的布局,各种细节栩栩如生。
实际手玩耍又是种什么体验呢?近距离视角下,简直一模一样!这台机器还有更厉害的地方——全自动、多球。
看到这里,是不是也想拥有一台呢?别着急,四位小哥提供了超详细的教程,手把手教你如何打造现实版「三维弹球」。
「三维弹球」的主要功能模块包括追踪得分系统、多球弹珠机、还有自主启动开关。上方有一个USB摄像头,在自动运行模式下会持续地监测弹球的位置,并根据球的位置指挥击打器。
用到的工具和材料清单包括:数控机床或激光切割机、Dremel和砂纸、烙铁、3D打印机、Linux计算机、USB摄像头、大量的/ AWG线、大量的热缩线、3/4英寸的胶合板(波罗的海桦木)、一个电源、降压转换器、弹球组件、左右翻转器组件、2个翻转式击打器、2个翻转按钮、2个叶子开关、保险杠总成、2个弹弓组件、至少6个星柱的弹弓、至少2个2英寸的橡皮筋、发射器机制、号刺刀式灯、场地中的障碍、掷球器、翻转开关。
以下是9步打造现实版「三维弹球」的步骤:
Step 1:纸面设计和低成本试错
设计中最可能出现的问题可能就是游戏机本身的尺寸限制和内部结构的安排,一些预想的弹球击打方式实验时才发现无法实现,所以需要先画出设计草图,食品溯源码投资然后在此基础上不断改进。团队在确定最终的游戏场地设计之前,经历了多次设计的修改和优化,每一次改进,都在便宜的胶合板上做一个模型来测试,一步步靠近最终的设计。
一些经验教训包括进行模块化设计,不同功能组件要能随意放置和取消。不要自己设计滑轮,借鉴成熟的弹球游戏的场地设计,这样能少走很多弯路。
Step 2:在SolidWorks上进行设计建模
弹球机的设计由两个主要的子部分组成,运动场和支架。球场是标准尺寸——. x英寸2,由3/4英寸厚度的波罗的海桦木胶合板制成。游戏场地包括一个由直径为2英寸的亚克力管和3D打印的适配器组合而成的第二层。第二层有两个主要功能。首先,第二层作为介质,将球从上层球场直接输送到左翻板内侧。球下落位置的可预测性,使得第二层成为一个的通道,此通道便于多球运动,这是其第二大功能。
当坡道和左内线上的翻转开关背对背地触发时,舵机会释放出两个球,这些球会下滚到第二层上方的两个管子中的一个,与坡道射出的球发生碰撞。因此,在多球模式下,这些管子将球会送入第二层,进入入左边的内管。
3/4英寸胶合板厚度的选择是为了给工程提供足够的刚性,并允许在承重接头处有更大的紧固件啮合。选用波罗的海桦木作材料,因为它的质量高,杂质少,属于硬木,不易损坏,易于使用激光雕刻,一般来说,对于较重的木制结构是首选。
支架是游戏场地的安装装置,并容纳了定制的电子装置。电子装置直接固定在底板上,延伸的延伸到游戏面板底部。通过观察窗可以看到电子装置在支架的两侧。此外,该支架还可以通过侧面的可拆卸的插销对球场进行间距调节。游戏台倾斜角度范围为0-8度,每两度设置一个调节档位。更高的球道坡度可以使游戏节奏更快,难度更高。
Step 3:用数控机床或激光雕刻制作主体
尽管你可以手工切削出游戏台的整体结构,但这样误差交大,后续安装连接多有不便,浪费材料。这几个美国小哥用一台大型5轴数控机床进行铣削,最后再用木楔进行细节调整。
Step 4:电子器件和电源选择
大多数弹球机的 “高压 “在V-V的范围,这取决于你买的电磁铁的品牌,同时你要选择一个能支持这种磁铁线圈的电源。其次,你需要考虑到 “低电压 “的电源,用于给灯或其他较小的电器元件等东西供电。我们选择的低电压是6.3v的电压,但这不一定是一成不变的。这要看你买的是什么LED,以及你是否用这个电源给其他的电器东西供电。一般6.3V应该就可以满足需要。如果没有低压电源,那还需要一个降压转换器将高电压(如V)降到小元件的额定电压。此外,使用的元件的电阻大小,决定了电流大小。所以,ep分销源码2.6电源总功率要视情况而定。如果你的组件没有达到正确的功耗额定值,这些元件在很短的时间内产生很大的电流。在这种情况下,单个击打器内部线圈可能会产生3-4安电流,两个加起来8安培左右,会导致元件烧毁。你应当计算出 “最坏的情况下 “的电流大小,然后给出一个合理的安全范围,挑出一个对应的电源。
Step 5:建立I/O接口电路
开关输入部分:开关输入板负责将所有的值从游戏场地中读入到Arduino。这个单独的电路非常简单,但需要对很多输入进行放大处理。因为Arduino有一个内部的上拉电阻,所以你可以如上图那样接线。这里最大的问题是要确保每个开关都有连接器,以防有一个开关因为某种原因单独取出调试。这个项目中使用了标准针脚连接,可以很容易地将所有的东西同时插入到Arduino中。
灯光控制部分:电路由一个BJT晶体管(2n)、几个电阻和LED组成。晶体管作为一个数字 “开关”,可以打开或关闭,把它这个连接到前面提到的6.3v电源上,就得到了一个光源和单独可寻址的LED。不能直接将LED直接连接到Arduino上的原因是,Arduino无法提供多个LED要求的额定电流。正确的办法是把Arduino作为一个数字开关,控制BJT。这样就可以将LED的数量扩大到我们需要的数量。
电磁控制部分:总体思路与LED板相同:从Arduino发送一个信号,能够打开/关闭任何一个电磁铁(翻板、弹弓、弹出式保险杠)。因为这些元件比LED功率更大,所以需要一些更大的晶体管:MOSFET。电路元件清单包括1k电阻、k电阻、电阻、IRFV MOSFET、1N二极管、微法电容。电磁铁需要连接到V的电压才会启动。因为电感不能瞬间改变电流,这就带来了一个问题。工作时,线圈会通过很高电流,而关闭时,如果没有一个地方分散电流,可能会破坏元件,非常危险。这里使RC缓冲器电路和二极管来解决这个问题。要使它们覆盖尽量多的电磁控制并联支路。
击打器和其他线圈的电路略有不同。这是因为,在弹球游戏中,玩家有时会按住按钮,以保持击打器长时间启动。如果要用同样的功率线圈,很快就会烧毁。在此电路中的第二个线圈可以实现快速第一次翻转。一旦翻转完成,一个机械机构会打开EOS开关,迫使电流通过两个线圈。
Step 6:组装所有元件
根据游戏场地的大小,焊接时间或长或短。这个项目花了大约两天的时间焊接,并把所有器件安装到位。最终有5种连接器插到板子上:高功率的螺线管电源、与电磁铁专用开关的连接、与LED的连接、与开关的连接、一些辅助电源(5V、V等)。所有这些都插到了一个3D打印的连接板上,里面封装了所有电路设备。即时聊天im源码当需要开盖检测故障的时候,只需要拔掉5个大的连接器,然后把整个装置举起来。
Step 7:安装Arduino软件驱动
在这台机器上,需要在与Arduino相连的计算机上安装以下依赖项:ROS rosserial_arduino ROS package、OpenCV (c++)、Tkinter、Apscheduler。整个软件系统依靠ROS架构作为后端来回传递消息。四个主要节点在弹珠机运行在自主模式下时,进行异步通信,以控制弹珠机的流程。这些节点分别是Input_Output.ino、track_metal.cpp、run_low_level.py和GUI.py。当不在自主模式下运行时,可以省略track_metal.cpp节点。源代码和详细解释在本项目的Github主页放出。
Step 8:更改Pin、将代码上传到Arduino、更新USB摄像头
如果你自己动手制作弹球机,并使用了本项目的源码,要注意的是,你的Arduino的Pin需要更新两处:Arduino/Input_Ouptut/ Input_Ouptut.io,以及src/Classes/playfield.py。此外还需要调整脚本,删除对开关和LED的调用。playfield.py会记录有多少个项目,需要手动设置每个项目的Pin。之后就可以将代码上传到Arduino中。此步骤必须安装上一步中提到的rosserial_arduino,并正确设置Arduino IDE与ROS绑定。最后,要做的是更新代码中你自己使用的摄像头名称。只需在 src/Track/track_metal.cpp 中找到 “std::::string camera_metal.cpp “这一行:“std::::string camera_string = “/dev/v4l/by-id/usb-d_Logitech_Webcam_Ce_6D6BFE5E-video-index0”;”将字符串更新为摄像机的名称,可能是”/dev/v4l/by-id/“
所有步骤完成后,重新编译才可以工作。
Step 9:玩起来吧!
如果一切正常,那么找到到 “启动”目录,然后输入 “roslaunch automatic_pinball_c.report”。这行代码启动所有与弹球机相关的节点,包括GUI节点和跟踪球的位置的节点。此外,你可以使用’roslaunch manual_pinball.report’不运行任何自主部分,只体验手动模式。
四位来自KSU的“造梦者”是何许人也?Kevin Kamperman,今年毕业于KSU,目前正在佐治亚理工学院研究所实习,从事无人机相关的研究。春季毕业的时候,Kevin Kamperman还被KSU评为今年的“荣誉毕业生”。Cody Meier,同样也是今年毕业于KSU,主修的专业是机械电子、机器人和自动化工程。Omar Salazar和上一位小哥是同专业,也是主修机械电子、机器人和自动化工程。他在采访视频中表示,这个项目加强了他在团队合作方面的能力。最后一位叫Tyler Gragg的小哥,可谓是“机器人制造”的狂热爱好者,在个人介绍文字中,还特意写道“Let’s Make Robots”,参与不少机器人项目。Tyler也荣登了学校“光荣榜”。嗯,是四位非常优秀的“造梦者”了。
那些年,经典的Windows小游戏,纸牌、扫雷、空当接龙……这些至今仍然拥有众多粉丝。然而,微软如今把这些经典游戏放在了WindowsStore中,灵魂手游源码「三维弹球」就没有那么幸运了。其实,从Win7开始,微软团队将原先的软件全部移植到位系统中。然而,「三维弹球」却出现了严重bug,为了节省时间,微软直接放弃了这个游戏。但四位小哥的这个项目,却赋予了这款经典之作新的生命。这个星球有趣的人可真多啊。
更多细节和教程请参考以下链接:
现实版「三维弹球」项目地址: instructables.com/id/Ar...
Github源代码地址: github.com/Tdoe/Aut...
通用弹球游戏设计制作教程: howtobuildapinballmachine.wordpress.com
大家好!有个有关数控线切割的知识我不知道怎么改了,如图我做了个第一幅图的程序,但是在运行的时候却得
问题每星期都会在游戏开发论坛上被问上好几次。这是个很好的问题,但是,没人能给出简单的答案。在某些应用程序中,总有一些计算机语言优于其他语言。下面是几种用于编写游戏的主要编程语言的介绍及其优缺点。希望这篇文章能帮助你做出决定。
1、C语言
如果说FORTRAN和COBOL是第一代高级编译语言,那么C语言就是它们的孙子辈。C语言是Dennis Ritchie在七十年代创建的,它功能更强大且与ALGOL保持更连续的继承性,而ALGOL则是COBOL和FORTRAN的结构化继承者。C语言被设计成一个比它的前辈更精巧、更简单的版本,它适于编写系统级的程序,比如操作系统。在此之前,操作系统是使用汇编语言编写的,而且不可移植。C语言是第一个使得系统级代码移植成为可能的编程语言。
C语言支持结构化编程,也就是说C的程序被编写成一些分离的函数呼叫(调用)的集合,这些呼叫是自上而下运行,而不像一个单独的集成块的代码使用GOTO语句控制流程。因此,C程序比起集成性的FORTRAN及COBOL的“空心粉式代码”代码要简单得多。事实上,C仍然具有GOTO语句,不过它的功能被限制了,仅当结构化方案非常复杂时才建议使用。
正由于它的系统编程根源,将C和汇编语言进行结合是相当容易的。函数调用接口非常简单,而且汇编语言指令还能内嵌到C代码中,所以,不需要连接独立的汇编模块。
优点:有益于编写小而快的程序。很容易与汇编语言结合。具有很高的标准化,因此其他平台上的各版本非常相似。
缺点:不容易支持面向对象技术。语法有时会非常难以理解,并造成滥用。
移植性:C语言的核心以及ANSI函数调用都具有移植性,但仅限于流程控制、内存管理和简单的文件处理。其他的东西都跟平台有关。比如说,为Windows和Mac开发可移植的程序,用户界面部分就需要用到与系统相关的函数调用。这一般意味着你必须写两次用户界面代码,不过还好有一些库可以减轻工作量。
用C语言编写的游戏:非常非常多。
资料:C语言的经典著作是《The C Programming Language》,它经过多次修改,已经扩展到最初的三倍大,但它仍然是介绍C的优秀书本。一本极好的教程是《The Waite Group's C Primer Plus》。
2、C++
C++语言是具有面向对象特性的C语言的继承者。面向对象编程,或称OOP是结构化编程的下一步。OO程序由对象组成,其中的对象是数据和函数离散集合。有许多可用的对象库存在,这使得编程简单得只需要将一些程序“建筑材料”堆在一起(至少理论上是这样)。比如说,有很多的GUI和数据库的库实现为对象的集合。
C++总是辩论的主题,尤其是在游戏开发论坛里。有几项C++的功能,比如虚拟函数,为函数呼叫的决策制定增加了一个额外层次,批评家很快指出C++程序将变得比相同功能的C程序来得大和慢。C++的拥护者则认为,用C写出与虚拟函数等价的代码同样会增加开支。这将是一个还在进行,而且不可能很快得出结论的争论。
我认为,C++的额外开支只是使用更好的语言的小付出。同样的争论发生在六十年代高级程序语言如COBOL和FORTRAN开始取代汇编成为语言所选的时候。批评家正确的指出使用高级语言编写的程序天生就比手写的汇编语言来得慢,而且必然如此。而高级语言支持者认为这么点小小的性能损失是值得的,因为COBOL和FORTRAN程序更容易编写和维护。
优点:组织大型程序时比C语言好得多。很好的支持面向对象机制。通用数据结构,如链表和可增长的阵列组成的库减轻了由于处理低层细节的负担。
缺点:非常大而复杂。与C语言一样存在语法滥用问题。比C慢。大多数编译器没有把整个语言正确的实现。
移植性:比C语言好多了,但依然不是很乐观。因为它具有与C语言相同的缺点,大多数可移植性用户界面库都使用C++对象实现。
使用C++编写的游戏:非常非常多。大多数的商业游戏是使用C或C++编写的。
资料:最新版的《The C++ Programming Language》非常好。作为教程,有两个阵营,一个假定你知道C,另外一个假定你不知道。到目前为止,最好的C++教程是《Who's Afraid of C++》,如果你已经熟知C,那么试一下《Teach Yourself C++》。
3、我该学习C++或是该从C开始
我不喜欢这种说法,但它是继“我该使用哪门语言”之后最经常被问及的问题。很不幸,不存在标准答案。你可以自学C并使用它来写程序,从而节省一大堆的时间,不过使用这种方法有两个弊端:
你将错过那些面向对象的知识,因为它可能在你的游戏中使得数据建模更有效率的东西。
最大的商业游戏,包括第一人称射击游戏很多并没有使用C++。但是,这些程序的作者即使使用老的C的格式,他们通常坚持使用面向对象编程技术。如果你只想学C,至少要自学OO(面向对象)编程技术。OO是仿真(游戏)的完美方法,如果你不学习OO,你将不得不“辛苦”的工作。
4、汇编语言
显然,汇编是第一个计算机语言。汇编语言实际上是你计算机处理器实际运行的指令的命令形式表示法。这意味着你将与处理器的底层打交道,比如寄存器和堆栈。如果你要找的是类英语且有相关的自我说明的语言,这不是你想要的。
确切的说,任何你能在其他语言里做到的事情,汇编都能做,只是不那么简单 — 这是当然,就像说你既可以开车到某个地方,也可以走路去,只是难易之分。话虽不错,但是新技术让东西变得更易于使用。
总的来说,汇编语言不会在游戏中单独应用。游戏使用汇编主要是使用它那些能提高性能的零零碎碎的部分。比如说,毁灭战士整体使用C来编写,有几段绘图程序使用汇编。这些程序每秒钟要调用数千次,因此,尽可能的简洁将有助于提高游戏的性能。而从C里调用汇编写的函数是相当简单的,因此同时使用两种语言不成问题。
特别注意:语言的名字叫“汇编”。把汇编语言翻译成真实的机器码的工具叫“汇编程序”。把这门语言叫做“汇编程序”这种用词不当相当普遍,因此,请从这门语言的正确称呼作为起点出发。
优点:最小、最快的语言。汇编高手能编写出比任何其他语言能实现的快得多的程序。你将是利用处理器最新功能的第一人,因为你能直接使用它们。
缺点:难学、语法晦涩、坚持效率,造成大量额外代码 — 不适于心脏虚弱者。
移植性:接近零。因为这门语言是为一种单独的处理器设计的,根本没移植性可言。如果使用了某个特殊处理器的扩展功能,你的代码甚至无法移植到其他同类型的处理器上(比如,AMD的3DNow指令是无法移植到其它奔腾系列的处理器上的)。
使用汇编编写的游戏:我不知道有什么商业游戏是完全用汇编开发的。不过有些游戏使用汇编完成多数对时间要求苛刻的部分。
资料:如果你正在找一门汇编语言的文档,你主要要找芯片的文档。网络上如Intel、AMD、Motorola等有一些关于它们的处理器的资料。对于书籍而言,《Assembly Language: Step-By-Step》是很值得学习的。
5、Pascal语言
Pascal语言是由Nicolas Wirth在七十年代早期设计的,因为他对于FORTRAN和COBOL没有强制训练学生的结构化编程感到很失望,“空心粉式代码”变成了规范,而当时的语言又不反对它。Pascal被设计来强行使用结构化编程。最初的Pascal被严格设计成教学之用,最终,大量的拥护者促使它闯入了商业编程中。当Borland发布IBM PC上的 Turbo Pascal时,Pascal辉煌一时。集成的编辑器,闪电般的编译器加上低廉的价格使之变得不可抵抗,Pascal编程了为MS-DOS编写小程序的首选语言。
然而时日不久,C编译器变得更快,并具有优秀的内置编辑器和调试器。Pascal在年Windows开始流行时走到了尽头,Borland放弃了Pascal而把目光转向了为Windows 编写程序的C++。Turbo Pascal很快被人遗忘。
最后,在年,Borland发布了它的“Visual Basic杀手”— Delphi。它是一种快速的带华丽用户界面的 Pascal编译器。由于不懈努力,它很快赢得了一大群爱好者。
基本上,Pascal比C简单。虽然语法类似,它缺乏很多C有的简洁操作符。这既是好事又是坏事。虽然很难写出难以理解的“聪明”代码,它同时也使得一些低级操作,如位操作变得困难起来。
优点:易学、平台相关的运行(Dephi)非常好。
缺点:“世界潮流”面向对象的Pascal继承者(Modula、Oberon)尚未成功。语言标准不被编译器开发者认同。专利权。
移植性:很差。语言的功能由于平台的转变而转变,没有移植性工具包来处理平台相关的功能。
使用Pascal编写的游戏:几个。DirectX的Delphi组件使得游戏场所变大了。
资料:查找跟Delphi有关的资料,请访问:Inprise Delphi page。
6、Visual Basic
哈,BASIC。回到八十年代的石器时代,它是程序初学者的第一个语言。最初的BASIC形式,虽然易于学习,却是可怕的无组织化,它义无反顾的使用了GOTO充斥的“空心粉式代码”。当回忆起BASIC的行号和GOSUB命令,没有几个人能止住眼角的泪水。
快速前进到九十年代早期,虽然不是苹果公司所希望的巨人,HyperCard仍然是一个在Windows下无法比拟的吸引人的小型编程环境。Windows下的HyperCard克隆品如ToolBook又慢又笨又昂贵。为了与HyperCard一决高下,微软取得了一个小巧的名为Thunder编程环境的许可权,并把它作为Visual Basci 1.0发布,其用户界面在当时非常具有新意。这门语言虽然还叫做Basic(不再是全部大写),但更加结构化了,行号也被去除。实际上,这门语言与那些内置于TRS-、Apple II及Atari里的旧的ROM BASIC相比,更像是带Basic风格动词的Pascal。
经过六个版本,Visual Basic变得非常漂亮。用户界面发生了许多变化,但依然保留着“把代码关联到用户界面”的主旨。这使得它在与即时编译结合时变成了一个快速原型的优异环境。
优点:整洁的编辑环境。易学、即时编译导致简单、迅速的原型。大量可用的插件。虽然有第三方的DirectX插件,DirectX 7已准备提供Visual Basic的支持。
缺点:程序很大,而且运行时需要几个巨大的运行时动态连接库。虽然表单型和对话框型的程序很容易完成,要编写好的图形程序却比较难。调用Windows的API程序非常笨拙,因为VB的数据结构没能很好的映射到C中。有OO功能,但却不是完全的面向对象。专利权。
移植性:非常差。因为Visual Basic是微软的产品,你自然就被局限在他们实现它的平台上。也就是说,你能得到的选择是:Windows,Windows或Widnows。当然,有一些工具能将VB程序转变成Java。
使用Visual Basic编写的游戏:一些。有很多使用VB编写的共享游戏,还有一些是商业性的。
资料:微软的VB页面有一些信息。
7、Java
Java是由Sun最初设计用于嵌入程序的可移植性“小C++”。在网页上运行小程序的想法着实吸引了不少人的目光,于是,这门语言迅速崛起。事实证明,Java不仅仅适于在网页上内嵌动画 — 它是一门极好的完全的软件编程的小语言。“虚拟机”机制、垃圾回收以及没有指针等使它很容易实现不易崩溃且不会泄漏资源的可靠程序。
虽然不是C++的正式续篇,Java从C++ 中借用了大量的语法。它丢弃了很多C++的复杂功能,从而形成一门紧凑而易学的语言。不像C++,Java强制面向对象编程,要在Java里写非面向对象的程序就像要在Pascal里写“空心粉式代码”一样困难。
优点:二进制码可移植到其他平台。程序可以在网页中运行。内含的类库非常标准且极其健壮。自动分配合垃圾回收避免程序中资源泄漏。网上数量巨大的代码例程。
缺点:使用一个“虚拟机”来运行可移植的字节码而非本地机器码,程序将比真正编译器慢。有很多技术(例如“即时”编译器)很大的提高了Java的速度,不过速度永远比不过机器码方案。早期的功能,如AWT没经过慎重考虑,虽然被正式废除,但为了保持向后兼容不得不保留。越高级的技术,造成处理低级的机器功能越困难,Sun为这门语言增加新的“受祝福”功能的速度实在太慢。
移植性:最好的,但仍未达到它本应达到的水平。低级代码具有非常高的可移植性,但是,很多UI及新功能在某些平台上不稳定。
使用Java编写的游戏:网页上有大量小的Applet,但仅有一些是商业性的。有几个商业游戏使用Java作为内部脚本语言。
资料:Sun的官方Java页面有一些好的信息。IBM也有一个非常好的Java页面。JavaLobby是一个关于Java新闻的最好去处。
8、创作工具
上面所提及的编程语言涵盖了大多数的商业游戏。但是也有一个例外,这个大游戏由于它的缺席而变得突出。
“神秘岛”。没错,卖得最好的商业游戏不是使用以上任何一门语言编的,虽然有人说“神秘岛”%是使用 3D建模工具制作的,其根本的编程逻辑是在HyperCard里完成的。
多数创作工具有点像Visual Basic,只是它们工作在更高的层次上。大多数工具使用一些拖拉式的流程图来模拟流程控制。很多内置解释的程序语言,但是这些语言都无法像上面所说的单独的语言那样健壮。
优点:快速原型 — 如果你的游戏符合工具制作的主旨,你或许能使你的游戏跑得比使用其他语言快。在很多情况下,你可以创造一个不需要任何代码的简单游戏。使用插件程序,如Shockware及IconAuthor播放器,你可以在网页上发布很多创作工具生成的程序。
缺点:专利权,至于将增加什么功能,你将受到工具制造者的支配。你必须考虑这些工具是否能满足你游戏的需要,因为有很多事情是那些创作工具无法完成的。某些工具会产生臃肿得可怕的程序。
移植性:因为创作工具是具有专利权的,你的移植性以他们提供的功能息息相关。有些系统,如Director可以在几种平台上创作和运行,有些工具则在某一平台上创作,在多种平台上运行,还有的是仅能在单一平台上创作和运行。
使用创作工具编写的游戏:“神秘岛”和其他一些同类型的探险游戏。所有的Shockwave游戏都在网络上。
资料:Director、HyperCard、SuperCard、IconAuthor、Authorware。
9、易语言
★全中文支持,无需跨越英语门槛。★全可视化编程,支持所见即所得程序界面设计和程序流程编码。★中文语句快速录入。提供多种内嵌专用输入法,彻底解决中文语句输入速度慢的问题。★代码即文档。自动规范强制代码格式转换,任何人编写的任何程序源代码格式均统一。★参数引导技术,方便程序语句参数录入。★无定义类关键字。所有程序定义部分均采用表格填表方式,用户无需记忆此类关键字及其使用格式。★命令格式统一。所有程序语句调用格式完全一致。★语法格式自动检查。自动检查并提示所输入语句的语法格式是否正确,且可自动添加各类名称。★全程提示与帮助。鼠标停留立即显示相关项目提示。编程时提示语法格式,调试时提示变量当前内容,随时按下F1键可得到与当前主题相关详细帮助等。★名称自动管理。用户修改任一名称定义,其它所有包含该名称的程序代码均自动修正。★集成化开发环境。集界面设计、代码编写、调试分析、编译打包等于一体。★学习资源丰富。详细的帮助文件、数十兆的知识库、数万用户的网上论坛、教材已出版发行……
、结论
你可能希望得到一个关于“我该使用哪种语言”这个问题的更标准的结论。非常不幸,没有一个对所有应用程序都最佳的解决方案。C适于快而小的程序,但不支持面向对象的编程。C++完全支持面向对象,但是非常复杂。Visual Basic与Delphi易学,但不可移植且有专利权。Java有很多简洁的功能,但是慢。创作工具可以以最快的速度产生你的程序,但是仅对某一些类型的程序起作用。最好的方法是决定你要写什么样的游戏,并选择对你的游戏支持最好的语言。“试用三十天”的做法成为工业标准是件好事情。