(本人也是刚接触unity,以下文字是看完视频以及研究完代码后写的,有错误的话请在下面评论中指出,谢谢!)

代码链接:http://pan.baidu.com/s/1bnBGc0Z 密码:t4qz(代码只是一部分)

视频链接:http://www.taikr.com/course/65(视频只讲了一部分,后续服务器的开发,电脑的ai都没有涉及。。)

1.在导入视频文件之前(包括导入的包内有视频文件),一定要先安装quickTime再导入,否则导入的视频文件也无法作为MovieTexture类型文件使用。

2.视频上的声音问题:用MovieTexture这个类型变量存储视频纹理之后,在该脚本所在的物体上添加AudioSource组件,添加视频的声音文件(导入的视频有个小三角点一下会有quickTime分离出来的音频文件),视频播放时,声音文件会随着视频的播放而播放,结束时候,音频文件也会结束,就是这么神奇。
3.awake一般来讲是在最前面调用,而start在awake之后update之前调用。(一般来讲)
4.NGUI菜单栏里有一个Reset Prefab ToolBar,里面有很多NGUI的工具。NGUI因为是一个外部插件的问题,所以有时候会出现意想不到的错误,重启之后应该就行了。
5.预置物体的作用,第一个就是凭空产生的物体先预置,第二个就是当某一群精灵都需要同一个组件时候,可以先创建一个精灵,把他弄为预制物体,然后ctrl+d进行复制,当改变预制物体时候(例如添加了某个组件),就给所有复制的物体添加了某个组件。
预置物体如果创建了脚本(相当于给所有复制的物体创建了一个相同的脚本),里面有public变量,不能进行拖拽控件赋值,只能分别到每个物体中的public变量中拖拽复制,或者在预制物体的脚本里用代码给变量赋值(this.transform.parent.getCompment等等方法)
6.NGUI中Atlas Maker的作用相当于一个合图软件,把多张小图片拼合成一个大的图片,创建精灵的时候选择合图,再选择里面的某一张小图片创建精灵,这样有利于减少内存的消耗,类似于cocos用TP。
7.在开发过程中,在一个场景中一定要设置好物体的depth,在Widget组件里面的属性,用来设置物体和物体的叠放顺序。类似于cocos中的第几层。
8.所谓c#的单例类就是可以在任何地方用类型._instance来调用里面的成员函数和访问里面的静态成员变量,不用再去查找脚本控件去调用类的方法或者访问类的属性值,注意所有需要直接访问的函数以及变量都要设置成为public访问修饰符,不仅单例类是,你如果要在组件中添加的事件是脚本中的函数,那么脚本中的函数也一定要弄为public修饰(至于为什么,好好复习c#j基础去吧)
9.在edict->prefence里面可以修改编辑器的类型,可以换成熟练的vs进行开发,还必须下载unityVS插件并且导入到项目中,这样就可以在vs中调试unity游戏了。(至于具体,百度吧。)
10。关于unity中的协程,他是异步的,相当于又开了一个线程。StartCoroutine(startGame()),IEnumberator startGame(){ yield new WaitForSeconds(3f) ..},他在执行startGame中的语句时候,会同时执行StartCoroutine函数所在的函数中剩下的语句,即是异步的。(有的地方说实际上是不异步的,但是我们作为初学者,可以这么理解)
11.所有能看到的东西都是纹理,包括视频。
12.面板锁住的时候,没有办法在Scene面板里使用右键菜单。
13.一般来说,Awake函数要比Start函数执行的早,Start函数在Update之前调用。Awake函数在脚本实例化之后立即调用。一般来讲,初始化变量的工作放在Start函数中,因为有时候你用引用的变量的值初始化另外一个变量的时候,放在Awake函数里面执行的话,有些太早,那些引用还没引用到位。
14.写生成物体代码时候,Instantiate(gameObject,Vector3(0,0,0),Rotate())第一个参数在脚本中类型为GameObject,再拖预制物体到脚本附引用。
15.有时候使用NGUI字体显示不能显示中文,需要切换成其他字体才能显示。
16.NGUI的事件函数,注意要在物体上绑定BoxCollider
void OnHover (bool isOver):当鼠标移出或者悬停在某个碰撞器上的时候返回布尔值.在触摸设备上不会有作用.
void OnPress (bool isDown):当鼠标或者触摸到碰撞器发生布尔值返回.
void OnSelect (bool selected):当鼠标或者触摸从OnPress发生后的释放将会返回这个布尔值.
void OnClick():和OnSelect的产生条件相同,当点击或触摸碰撞器并且没有发生拖拽时候触发.
void OnDrag (Vector2 delta):当移动鼠标或者触摸按下时候位移超过特定阀值时触发.
void OnDrop (GameObject drag):当鼠标或触摸释放于从发生OnDrag的不同碰撞器伤触发.传递的参数是产生OnDrag的游戏对象.
void OnInput (string text):当一个OnSelect发生后在同一个碰撞器上触发输入.一般只有UIInput用它.
void OnTooltip (bool show):当鼠标悬停超过tooltipDelay时间后触发该命令.触摸设备上不会有作用.(直接从script中写就行)
17.ob.transform.parent = this.transform;//改变他的父亲
18.让有BoxCollider的物体添加脚本类中集成UIDragDrogItem,该物体就能进行拖拽了,拖拽完成松手后,会执行OnDragDrogRelease这个函数。可以用override重写这个函数来进行拖拽完成后的处理工作。
19.禁用某个gameObject上的脚本,GetComponent<>().enabled =false;

20.this.tranform.Find()只能查找他所在物体的子物体,效率还低,如果要手动查找其他物体,用this.transform.parent.parent一级一级过度查找。直接拖拽物体到引用是效率最快的方法。

21.http://www.cnblogs.com/holyknight-zld/archive/2012/08/30/delegateEvent.html (介绍c#事件委托比较好的一篇文章)

unity3d炉石传说初期代码以及自己记录的知识点(初学者可看,有c#基础)相关推荐

  1. 炉石传说的代码是Java吗,炉石传说:设计师亲儿子,上千行代码写出来的,却天天被玩家怼!...

    炉石传说的玩家,总是喜欢把某个职业,当然是暴雪亲儿子亲女儿.哪个登顶了,哪个拥有一套T0级别的卡组了,哪个职业就成了暴雪亲生的了.哪怕这个时间往往不会太长,最多只能维持几个月,但只要有T0卡组,甚至是 ...

  2. c语言炉石传说模仿代码项目,炉石传说套牌代码功能:卡组文本编码一键导入...

    炉石传说即将到来的最新版本会带来一个全新的功能--套牌导入. 我们很快就能够轻松地通过"套牌导入"功能来复制和分享卡组了. 在构筑卡组时将不需要对着网页或者其他设备来回切换,一张牌 ...

  3. c语言炉石传说测试数据库,炉石传说(示例代码)

    #include #include using namespacestd;intmain() {structattendant{int exist; //是否存在空位 int health; //随从 ...

  4. CSP201609-3(炉石传说)(Java 100分)(只有78行代码)

    问题描述 <炉石传说:魔兽英雄传>(Hearthstone: Heroes of Warcraft,简称炉石传说)是暴雪娱乐开发的一款集换式卡牌游戏(如下图所示).游戏在一个战斗棋盘上进行 ...

  5. (写着玩)Python仿网络游戏《炉石传说》,继上次部分代码展示

    上一期: (写着玩)Python仿网络游戏<炉石传说>,使用LOL的卡牌进行模拟对局(版本1.0)_AMarvelZ的博客-CSDN博客

  6. 《炉石传说》架构设计赏析(4):Asset管理

    话说,经过这段时间的学习和摸索,对于Unity3D的开发思路已经基本清晰了.唯独还剩下一个AssetBundle机制还没有搞透,这个涉及到前期项目的资源规划.资源管理代码的写法,以及自动更新机制的实现 ...

  7. android webview 炉石,从炉石传说的一个自杀OTK说起

    OTK就是one turn kill,不过这次我们要谈的OTK是自杀,对就是自己把自己给OTK了. 其实程序没有任何错误,只是恰巧碰上了这么个死循环. ps:文章最后有代码git地址 发动条件及效果: ...

  8. 《炉石传说》架构设计赏析(1):游戏启动流程

    今年的Unity Awards两项大奖颁给了暴雪的<炉石传说>,这真是对Unity一个再好不过的宣传了--你看,暴雪都开始用Unity了.大家都知道,目前Unity发布的游戏大多都没有对程 ...

  9. 炉石传说 酒馆战棋 战斗模拟的实现

    炉石传说 酒馆战棋 战斗模拟的实现 这几天工作闲余,琢磨着新的AI算法思路,于是想尝试一下和机器对战,遂想到炉石传说的酒馆战棋.想要机器对战,就得先把规则写成一个sandbox,然后再机器学习.那么这 ...

最新文章

  1. Linux使用expect自动登录,linux中使用expect实现自动登录(示例代码)
  2. mysql数据库语句q_mysql数据库命令大全,mysql基本命令大全
  3. 办公室影响同事关系的九种行为
  4. c语言删除文件中的结构体_C语言插入、删除、更改文件内容
  5. 生产者和消费者代码———操作系统_操作系统基础15-生产者消费者问题
  6. Luogu-P1018 乘积最大
  7. ajax获取checkbox循环出来的值_Django:前后端异步加载数据(循环大法)
  8. 晕!!汗颜!java排序大集合
  9. catia制作物料明细_CATIA课时:动力头主架详细标注及物料清单视频教程_翼狐网...
  10. 软件测试缺陷报告总结
  11. dede config.chche.inc.php,dedecms 后台修改系统设置,但是config.cache.inc.php文件不能写入...
  12. python sasl_python用sasl的方式连接ldap提示
  13. 设置Mathtype的粗斜体
  14. 3653: 谈笑风生
  15. 关于解决'\u'开头的字符串转中文的方法
  16. 一个H.265/HEVC码流分析工具
  17. HTMl综合各大网站谈谈Meta标签和meta property=og标签含义
  18. 上海居住证积分办理攻略,太容易了,快来收藏!!!
  19. 陈宇(Aqua)-安全->云安全->多云安全
  20. [JSOI2016]扭动的回文串

热门文章

  1. Javascript书籍推荐----(步步为赢)
  2. 服务短信的退订与恢复方法
  3. 【Java实现】约瑟夫问题的Java代码实现
  4. Python数据分析:python与numpy效率对比
  5. 【C语言】百玩不腻的扫雷小游戏(初阶到进阶)
  6. $ hdc shell bm install -p /sdcard/ Failure[INSTALL_FAILED_UPDATE_INCOMPATIBLE]
  7. 计算机显示突然变大、变扁了怎么办
  8. tcpdump如何抓接口包_tcpdump抓包简单用法
  9. 手机服务器物品不掉落,[娱乐|其他]InventoryKeeper —— 死亡护符|消耗物品来开启死亡不掉落吧[1.7.10-1.17]...
  10. 再来聊聊SEO和SEM的区别,数字营销必备