跟我从零基础学习Unity3D开发--U3d脚本注意事项及两个基本函数的简单介绍

时间:2022-09-16 14:26:21

经过上一篇的学习,我相信开发环境您已经搭好了,如果还没有搭好可以百度一下。

今天主要讲的有以下几点:

第一:Unity3D中的C#脚本与.net中的C#写法的区别

1.Unity3D C#脚本不支持命名空间.

跟我从零基础学习Unity3D开发--U3d脚本注意事项及两个基本函数的简单介绍

2.Unity3D C#脚本初始化不要放到构造函数中,而是放到Start()方法中。

跟我从零基础学习Unity3D开发--U3d脚本注意事项及两个基本函数的简单介绍

3.Unity3D C#脚本 get/set写法属性不被识别,直接public字段就能当属性用,private或者不写修饰符就是私有字段。

跟我从零基础学习Unity3D开发--U3d脚本注意事项及两个基本函数的简单介绍

 跟我从零基础学习Unity3D开发--U3d脚本注意事项及两个基本函数的简单介绍

4.脚本中文问题:代码中有中文的话会有乱码问题。到资源管理器中打开项目的Assets文件夹(或点右键Show In Explorer),用unity3d目录下的Editor\Data\Tools\UniSciTE下的UniSciTE.exe打开cs文件,File→Encoding改为UTF-8 with BOM,敲个空格造成修改,然后保存即可(可以修改cs文件打开方式更简单)。最好一开始就修改编码,否则会很麻烦。

完整的代码:

跟我从零基础学习Unity3D开发--U3d脚本注意事项及两个基本函数的简单介绍

第二:这里基本讲解一下当您打开一个脚本自带的两个函数Start、和Update的用法和意思

1.Start

  对于这个函数我想不用多讲,大家从字面意思就能理解,程序开始执行时调用的函数。上面提到Unity3D中初始化不能放在构造函数中要放到Start函数中。从某种意义上讲可以理解为Unity3D吧传统的构造函数用这里的Start来替换了(这里完全属于个人理解如果不理解不正确希望大神指出)。所以我们把Start理解为构造函数自然就容易理解为什么初始化要放到Start中了。这个函数主要用于对一些游戏资源的初始化用的。我相信这个函数大家容易理解,这里都不多讲了。重点看下面一个。

2.Update

  这个函数可以说是一个核心函数。这里先问一下?您知道什么是帧的概念吗?如果处理过视频、弄过ps、flash之类的做动态的视频或者动画的朋友可能对这个帧比较了解。我这里简单描述一下帧的概念。大家先回想一下很久以前的那种电影是怎么做的?

跟我从零基础学习Unity3D开发--U3d脚本注意事项及两个基本函数的简单介绍

没错就是你看到的这样一张一张连接而成的,然后快速浏览每一张就形成了动画。我们现在看到的视频、Gif等等一些都是类这种电影的胶片一张一个图像一个图像拼接的,然后每秒播放不低于24张(为什么是24如果我没记错的话24是视觉什么的最低帧数低于这个就是放幻灯片了)就会形成动画。讲了这么多那什么是帧呢?帧就可以形象的理解为这电影胶卷的每一个图片。

我这里引用一下百度百科

帧——就是影像动画中最小单位的单幅影像画面,相当于电影胶片上的每一格镜头。 一帧就是一副静止的画面,连续的帧就形成动画,如电视图象等。

你这时就会问讲这么多废话,Update到底是怎么回事还没说呢?先别忙,如果您对帧这个概念不熟悉那么你对这个函数的理解就会还停留在.net中的事件驱动的那个机制。从字面理解Update就是刷新、更新的意思,那它刷新什么更新什么呢?我们用的Unity3d程序可以看作就是一个电影,当你一运行它,他就开始一帧一帧开始放映,没播放一帧就会调用一下这个Update函数。可能这里有点空洞,没关系大家先按自己当前理解的意思去做做练习,下一次会给大家一个实例来讲解一下咯函数。(为什么这里不讲我怕直接给例子先入为主了,当你按自己的理解去练习了才发下达不到效果,而后我再给出原因这样理解深刻一点)

跟我从零基础学习Unity3D开发--U3d脚本注意事项及两个基本函数的简单介绍的更多相关文章

  1. 跟我从零基础学习Unity3D开发--NGUI入门基础

    英雄联盟(撸啊撸) QQ飞车 魔兽世界等等相信大家都玩过游戏吧,玩过那UI知道是什么吧?UI可能说得有点专业的话那么游戏中那些属性面板例如: 现在对UI有一定认识了吧!回想一下您玩过的游戏就一定知道什 ...

  2. 跟我从零基础学习Unity3D开发--初识U3D

    首先声明,我也是才开始学,把自己学的记录下来也供一些想要学习的朋友参考,一起努力.希望大家能给我指点一下.切莫喷我. 什么是Unity3d呢? 百度百科------Unity是由Unity Techn ...

  3. 跟我从零基础学习Unity3D开发--Unity3D开发必备神器(Visual Studio Tools for Unity)

    开发Unity3D程序你用的什么IDE呢? 1.MonoDevelop 2.VS 可能你的回答是这样的,我用的vs写代码MonoDevelop来做调试.这时有同学就会反驳了傻X不知道用unityVS吗 ...

  4. 跟我从零基础学习Unity3D开发--资源打包篇(AssetBundle)

    好久没更新了,一直在加班敢项目进度.这里和关注我的博客的童鞋表示一下歉意!这里有我录的Unity3D从零开始的视频教程大家可以关注一下:http://www.imooc.com/view/555  视 ...

  5. [iOS]关于零基础学习iOS开发的学习方法总结

    关于零基础学习iOS开发的学习方法总结 最近很多零基础来参加蓝鸥培训的学生经常会问到一些学习方法的问题,就如下我自己见过的好的学习方法一起讨论一下. 蓝鸥iOS开发技术的学习路线图 程序员的主要工作是 ...

  6. 【零基础学习iOS开发】【转载】

    原文地址:http://www.cnblogs.com/mjios/archive/2013/04/24/3039357.html 本文目录 一.什么是iOS 二.主流手机操作系统 三.什么是iOS开 ...

  7. 李洪强iOS开发之【零基础学习iOS开发】【01-前言】01-开篇

    从今天开始,我就开始更新[零基础学习iOS开发]这个专题.不管你是否涉足过IT领域,也不管你是理科生还是文科生,只要你对iOS开发感兴趣,都可以来阅读此专题.我尽量以通俗易懂的语言,让每个人都能够看懂 ...

  8. 【零基础学习iOS开发】【01-前言】01-开篇

    本文目录 一.什么是iOS 二.主流手机操作系统 三.什么是iOS开发 四.学习iOS开发的目的 五.学习iOS开发的前提 从今天开始,我就开始更新[零基础学习iOS开发]这个专题.不管你是否涉足过I ...

  9. 零基础学习iOS开发

    零基础学习iOS开发不管你是否涉足过IT领域,只要你对iOS开发感兴趣,都可以阅读此专题. [零基础学习iOS开发][02-C语言]11-函数的声明和定义 摘要: 在上一讲中,简单介绍了函数的定义和使 ...

随机推荐

  1. vmware安装ubuntu卡在install vm-tools

    vmware,安装ubuntu或者centos,都有这个问题:vmware自作聪明,提示说"快速安装",然后会使用一个autoinst.iso文件来快速安装,并且装完系统后该重启了 ...

  2. CSS这些代码你都不会,你还有什么好说的!!!

    都说自己工资低的,先看看这些代码你能写出来不?这些都不会,你还嫌工资? 很多人抱怨工资低,觉得自己大材小用,但你真的是才不是柴嘛?? 经常听到一些人,遇到不会的问百度,如果这样,我们都不用学习了,天天 ...

  3. caffe学习系列(3):数据层介绍

    一个模型由多个层构成,如Data,conv,pool等.其中数据层是模型的最底层,是模型的入口. 提供数据的输入,也提供数据从Blobs转换成别的格式进行保存输出还包括数据的预处理(如减去 均值, 放 ...

  4. linux多线程下载工具mwget

    linux多线程下载工具mwget 经常使用wget进行文件下载,然而wget的处理速度并不如人意.遇到一些国外的站点,经常慢得像蜗牛一般.然而为了解决这个问题,便有了mwget:m表示multi多线 ...

  5. DS实验题 Floyd最短路径 & Prim最小生成树

    题目: 提示: Floyd最短路径算法实现(未测试): // // main.cpp // Alg_Floyd_playgame // // Created by wasdns on 16/11/19 ...

  6. [css] 【转载】 精简高效的CSS命名准则/方法

    原文链接:http://www.zhangxinxu.com/wordpress/2010/09/%E7%B2%BE%E7%AE%80%E9%AB%98%E6%95%88%E7%9A%84css%E5 ...

  7. 沈逸老师PHP魔鬼特训笔记(9)--进化

    回到第一课,我们学过PHP母体,了解过解析PHP程序.PHP其实内置了一个web服务器,专门给我们开发测试使用,那么接下来我们要完成的是:生成后创建一个web 服务,在浏览器中可以访问. PHP的母体 ...

  8. error: undefined reference to `XXX::XXX(type1, ypte2)

    moc_fortunethread.cpp:100: error: undefined reference to `FortuneThread::GetToParentThread(QString, ...

  9. [虚拟化/云][全栈demo] 为qemu增加一个PCI的watchdog外设(三)

    我们已经设计了一个基于qemu的watchdog了.下一步工作就是创建一个含有我们的watchdog的虚拟计算机器了. 准备工作: 1. 使用virt-manager或者virsh创建一个虚拟机器. ...

  10. django——FBV与CBV

    引言 FBV FBV(function base views) 就是在视图里使用函数处理请求. 在之前django的学习中,我们一直使用的是这种方式,所以不再赘述. CBV CBV(class bas ...