找回密码
 注册帐号

扫一扫,访问微社区

入门教程 计算机与程序(一)

1
回复
2513
查看
[ 复制链接 ]
排名
1
昨日变化

1591

主题

3670

帖子

1万

积分

Rank: 16

UID
2
好友
123
蛮牛币
3137
威望
121
注册时间
2013-5-19
在线时间
2320 小时
最后登录
2019-8-22

原创先锋

2014-5-26 14:31:08 显示全部楼层 阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x

本章简要介绍计算机与程序的基础,有过程序开发经验,或有程序开发基础的可以跳过。或者到“本章自测”部分,检验一下是否掌握。

本章不打算,一气呵成的把组成原理,操作系统,编译原理,程序开发,都讲清楚。这不太现实,也完全没必要。但可以让读者明白,程序是什么,能做什么,怎么做,需要学习哪些方面的知识。如果这些知识都已了解,当然最好,如果不是也没关系,后文需要用到的知识本章都会简单介绍一下,加粗的内容如果不太明白,都可以或说应该作为google关键字,去搜索一下。

快速入门

计算机刚出现时,需要有专业知识的工程师,才能操作计算机。而现在只需要简单的学习,小学生也可以熟练的使用计算机。而计算机的体系机构(冯·诺依曼结构)几乎没发生变化。只是操作系统和软件越来越方便使用了,我们不用再关心计算机可以识别的机器指令,只需要通过鼠标键盘或触屏等比较直观的输入设备,就可以命令计算机为我们工作。

然而现在的计算机依然只能执行既定的指令,做一些基础的算术和逻辑运算。我们的输入信息被转化为一些计算机可以识别的指令和数据,交由计算机硬件进行处理,处理的结果再经过软件的转化以图像文字声音等的形式反馈给我们。

简单的说软件就是一些指令和一些数据。我们通过软件来使用计算机,这样方便多了(抑或我们觉得我们在使用软件,软件在使用计算机硬件)。游戏也是软件的一种。教程手册

直接用机器指令编写软件难道太大,于是就出现了与机器指令对应的汇编语言,用英文单词来代替0,1组成的机器指令,还是比较难掌握,于是又出现了比较接近自然语言的高级程序语言。至此程序开发变的比较容易,人们可以用三种控制结构(顺序结构,分支结构,循环结构)来解决各种各样的问题。有理论证明这三种结构足以解决任何可以用算术和逻辑运算解决的问题。然而人们仍没能过上幸福的日子,这种一步步去处理问题的编程方式被称作面向过程的编程。当软件的规模变的比较大时,代码的修改和维护变的过于困难,困难到爆发软件危机,结构化的编程,仍没能解决问题。于是出现了面向对象的编程模式,至此软件编写更接近于现实世界,更接近于人的思维方式,把软件中所模拟的物体当成一个整体,把这个物体的属性和它能做的一些操作封装成一个类,软件由这样的类,或类的实例,组成。至此开发软件有点类似于搭积木了,再加上软件工程的指导,构建大的项目变的简单多了。然而人们仍然没能过上幸福的日子,软件开发依然是一项庞大和艰巨的工程。或许有一天计算机硬件结构变了,计算机可以思考学习了人们就可以过上幸福日子了,不过谁又能保证到了那一天,计算机不会认为他们是由半导体二极管突变进化而来的呢。

至此,我们编写一些更接近自然语言,更接近我们思维方式的命令变的可能,这些由编程语言组成的指令(语句)序列,就是通常我们说的程序(或说源代码)。由于计算机比较笨,不能直接执行这些语言指令,所以通常这些源代码需要用编译器编译成计算机可执行的指令。或者编译成一些中间代码,再由执行环境去执行,也有一些语言是不编译,由解释器一边翻译一边执行的。但都有从源代码到机器语言的一个转换过程。

严格的说在Unity3D中我们要编写的还不是这样的源代码,而是脚本,脚本离硬件比源代码离硬件更远了一层,一般而言,越上层越简单,而效率却越低。可暂时这样理解,这些脚本是由去解析执行的,我们通过脚本操控Unity3D做什么。这也是为什么用Unity3D做游戏,简单而且高效的原因,很多东西Unity3D已经做好了,我们只需要用脚本去调用即可。

Unity3D支持多种编程语言(javascript,c#,boo),每种语言都有自己的语法关键字运算符等,而用程序解决问题的思路差别并不大,下面我们将以javascript为例,简单介绍程序开发的基础,当然要系统学习一门语言,最好还是找一本全面的程序语言书。

程序基础。

Hello World!

按照惯例,我们来写一个Hello World!程序。这个程序的功能只是输出一个字符串“Hello World!”。这差不多已成了程序员的古老咒语了。

用javascript,实现这个功能,我们仅需要写一句代码:

  1. <font color="rgb(85, 85, 85)"><font face="微软雅黑">print(“Hello World!”);
  2. </font></font>
复制代码
为了测试代码在Unity3D中的执行结果,我们首先来创建一个空的工程。打开Unity3D 4.0。第一次启动时,会看到创建工程的对话框,如果已经创建和打开了工程,可以用菜单“File->New Project…”。重新创建一个空的工程。

Project Location:下选择一个目录,需要在一个空的文件夹中创建工程。注意路径中不要出现中文。选好目录之后点击Create 按钮,完成工程的创建。

更多关于工程创建,及界面介绍的内容请参阅第二章,更多Unity3D关于脚本的内容请参阅第三章,这里仅用它来讲述程序的基础知识,只需要按这样的步骤操作即可。然后通过菜单“GameObject->Create Other->Cube”创建一个立方体。

完成之后我们可以再Hiearchy面板中看到多出一个“cube”。双击这个“cube”可以再Scene面板中看到一个立方体盒子。然后右键点击Assets面板选择“ Create->javascript”或者通过顶部菜单“Assets->Create->javascript”创建一个javascript文件,这就是我们要编写的脚本文件。

创建完之后,Assets面板可以看到,出现了一个图标为“Js”的文件,直接双击打开。

默认文件会以MonoDevelop打开,当然也可以用其他文本编辑器打开并且编辑这些脚本。我们看到默认已经生成了一些代码,先不管他们,全部删掉,只输入一句:
  1. print(“Hello World!”);
复制代码
然后保存(ctrl+s)。回到Unity3D界面。把这个脚本文件拖到到“Hierarchy”面板上的cube上,或者直接拖到“Scene”面板上的立方体上。

然后点击播放按钮(或者ctrl+P),开始游戏。另外两个按钮分别为暂停,和单步执行。

没出现什么错误的话,底部状态栏上就能看到输出了字符串“Hello World!”,如果输出的信息比较多,状态栏上只能显示最后一条。如果想看更多信息,可以吧Project面板旁边的“Console”面板点开。Unity3D教程手册再次点击播放游戏的按钮停止游戏(或者ctrl+P)。好了,如果看到了正确的输出信息,这个Hello World!程序的使命就完成了。让我们来分析一下这个脚本,并逐步把它变的更有用。以后每次修改脚本之后注意保存,并且停止游戏重新执行一次就可以看到新的输出。后文我们只把代码和对应的输出写出来。先分析一下这个脚本。现在只有一句代码。print()是系统提供的函数,用于输出一个字符串。注意函数名print之后要跟一对小括号。而小括号里边是要输出的字符串内容。字符串需要用引号括起来(可以是单引号也可以是双引号)。引号之中的字符串,可以改成其他信息,如果你愿意你可以改成“我叫陈阿土”,不过“Hello world!”已经成为一个习惯。另外代码之中最好不要出现中文,哪怕是注释也不要出现中文,否则有时会有一些莫名其妙的错误。语句最后的分号是不能省略的。每个语句结束之后都要带分号,这是语法的一部分。否则你将看到这样的错误提示。



unity3d黑屏;unity3d打不开脚本;用unity3d编程语言;图像识别 unity3d;unity3d游戏黑屏;unity3d 5 新功能;unity3d怎么显示文字;unity3d 支持c;unity3d 已停止工作;.unity3d文件怎么编辑;unity3d界面的跳转;unity3d只能做游戏吗;unity3d支持什么语言;unity3d wp;unity3d 只能游戏;.unity3d文件反编译;unity3d js做什么;unity3d 找工作;unity3d打开黑屏;unity3d脚本打不开;unity3d 编程语言;unity3d图像识别;unity3d的游戏黑屏;unity3d 5.3 新功能;unity3d 新功能;unity3d 5.0新功能;unity3d 显示文字;unity3d为什么不支持c;为什么unity3d不支持c++;unity3d 支持c++吗;unity3d支持c++;unity3d停止工作;unity3d文件编辑;unity3d界面跳转;unity3d只能做游戏;unity3d支持 语言;unity3d支持的语言;wp unity3d;unity3d只能游戏吗;unity3d文件反编译;unity3d用js做什么;unity3d找工作容易吗
回复

使用道具 举报

排名
2980
昨日变化

28

主题

722

帖子

2162

积分

Rank: 9Rank: 9Rank: 9

UID
150
好友
54
蛮牛币
2932
威望
0
注册时间
2013-6-1
在线时间
170 小时
最后登录
2019-2-4

原创先锋认证开发者

2014-12-15 04:30:18 显示全部楼层
谢谢分享,受教了,楼主辛苦了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则