首页 > 代码库 > AnimationEvent事件问题

AnimationEvent事件问题

AnimationEvent事件问题

本文章由cartzhang编写,转载请注明出处。 全部权利保留。
文章链接:http://blog.csdn.net/cartzhang/article/details/50914823
作者:cartzhang

**

一,说明

上周在使用Unity过程中,出现了一些奇怪的事情。
当然。在不排除自己用法问题的时候,都能够怀疑Unity版本号问题。这就是槽点啊!。

二、AnimationEvent使用

AnimationEvent的加入和用法,官方网址:
file:///C:/Program%20Files/Unity5.3.0/Editor/Data/Documentation/en/Manual/animeditor-AnimationEvents.html

当然是你本地目录的路径。

然而。在打开Animation后。在多次加入完成Event事件后,调整或保存后,总会发生事件丢失的问题。
技术分享

后来才知道问题在这里:
技术分享

看到红框的里面的说明了吧。这玩意儿是个仅仅读的。

怎么办?

还是老老实实的从动画里面加入事件:
是这样做的:

技术分享

三、事件加入没有效果


该加入的都已经加入完成了。咋还执行报错,找不到事件函数呢?


一開始怀疑,写了函数为类中的私有函数,private。

要是私有的不能够调用,从设计的角度。就应该把这些无用的私有,不可用调用的全部屏蔽掉啊!!


所以。问题不在于此啊!!


历尽千辛万苦,把全部动画下的挂在的事件,全部都又一次改动调整了一遍。

结果通过比較meta文件,发现meta文件里原来的event中。多了一个空格。就是由他造成的。


可是能够保证。在使用上述的动画Event中,绝对是拷贝的代码,没有加入过不论什么手动的过程,这样就会多了个空格这样的问题。想想。也是无可奈何啊。!Unity我也无奈。

四、说说meta文件

meta文件主要包含内容:

  1. 文件格式版本号
  2. GUID
  3. 创建时间
  4. License类型
  5. 导入者
  6. 用户数据等。


    我们随便看看一个:

fileFormatVersion: 2
guid: 7d5d1ce2c226f9e40a8c1692583c2700
timeCreated: 1453951490
licenseType: Free
DefaultImporter:
  userData: 
  assetBundleName: 
  assetBundleVariant: 


meta文件的作用:帶有GUID,就意思就是文件唯一標識。就是非常小概率的重複的一組數字。
使用它來對應相應的資源引用,在下次搜索到這個引用時。若找不到就場景就會崩潰。腳本就會顯示“Missing script”。它們是project的一部分。

若不想看到它。能够隱藏它。例如以下圖所看到的:
技术分享

在project中,meta文件是须要提交的,如沒有,就會在本地自動生成一個,打亂原來的全部資源引用。
https://gamedevdaily.io/managing-meta-files-in-unity-713166ee3d30#.jyjv9b2ks
這篇文章還是不錯的。若是不太了解。能够看看!

。!

參考

http://answers.unity3d.com/questions/932348/visible-or-hidden-meta-files-with-git.html
http://answers.unity3d.com/questions/620728/how-to-remove-meta-files-1.html
https://gamedevdaily.io/managing-meta-files-in-unity-713166ee3d30#.jyjv9b2ks

—————-THE—————-END—————————————–

若有問題,請隨時聯繫!


非常感謝!!

喝了這碗雞湯,分清楚那是個夢想,還是夢鄉
技术分享

<script type="text/javascript"> $(function () { $(‘pre.prettyprint code‘).each(function () { var lines = $(this).text().split(‘\n‘).length; var $numbering = $(‘
    ‘).addClass(‘pre-numbering‘).hide(); $(this).addClass(‘has-numbering‘).parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($(‘
  • ‘).text(i)); }; $numbering.fadeIn(1700); }); }); </script>

AnimationEvent事件问题