lingyifang4

unity3d协程方法停止不了

使用

StartCoroutine(DoSomething());

开启协程,发现使用

StopCoroutine(DoSomething());

停止不了,看API原来是因为:

请注意只有StartCoroutine使用一个字符串方法名时才能用StopCoroutine停用之.

[UnityUI]UGUI按钮长按效果

  1. using UnityEngine;  
  2. using System.Collections;  
  3. using UnityEngine.EventSystems;  
  4. using UnityEngine.Events;  
  5.   
  6. public class RepeatButton : MonoBehaviour, IPointerDownHandler, IPointerUpHandler, IPointerExitHandler {  
  7.   
  8.     public bool invokeOnce = false;//是否只调用一次  
  9.     private bool hadInvoke = false;//是否已经调用过  
  10.   
  11.     public float interval = 0.1f;//按下后超过这个时间则认定为"长按"  
  12.     private bool isPointerDown = false;  
  13.     private float recordTime;  
  14.   
  15.     public UnityEvent onPress = new UnityEvent();//按住时调用  
  16.     public UnityEvent onRelease = new UnityEvent();//松开时调用  
  17.   
  18.     void Start ()   
  19.     {  
  20.       
  21.     }  
  22.       
  23.     void Update ()   
  24.     {  
  25.         if (invokeOnce && hadInvoke) return;  
  26.         if (isPointerDown)  
  27.         {  
  28.             if ((Time.time - recordTime) > interval)  
  29.             {  
  30.                 onPress.Invoke();  
  31.                 hadInvoke = true;  
  32.             }  
  33.         }  
  34.     }  
  35.   
  36.     public void OnPointerDown(PointerEventData eventData)  
  37.     {  
  38.         isPointerDown = true;  
  39.         recordTime = Time.time;  
  40.     }  
  41.   
  42.     public void OnPointerUp(PointerEventData eventData)  
  43.     {  
  44.         isPointerDown = false;  
  45.         hadInvoke = false;  
  46.         onRelease.Invoke();  
  47.     }  
  48.   
  49.     public void OnPointerExit(PointerEventData eventData)  
  50.     {  
  51.         isPointerDown = false;  
  52.         hadInvoke = false;  
  53.         onRelease.Invoke();  
  54.     }  
  55. }  

Unity animator 动画暂停

那要如何暫停動畫呢?

很簡單...

先建立動畫物件(使用public是為了方便在Editor上將物件直接拖曳而已)

 

然後用下面的程式碼就可以暫停了

 

若要繼續播放,則

 

若希望某部動畫從某個時間段播放,則可使用下面這個方法

參數argv_1、argv_2、argv_3所代表的意思如下:

  1. argv_1:要播放的動畫名稱
  2. argv_2:動畫所在的Layer,Base Layer為0
  3. argv_3:要從哪個時間段開始播放

C#随机打乱数组代码

 string path = ChooseLevel.chosslevel.ToString();

        Blone_sprites = Resources.LoadAll<Sprite>(path);



        print(Blone_sprites.Length);

        //将骨头随机进行排列

        for (int i = Blone_sprites.Length-1; i > 0; i--)

        {


            int n = Random.Range(0, i);

            Sprite temp = Blone_sprites[n];

            Blone_sprites[n] = Blone_sprites[i];

            Blone_sprites[i] = temp;

            //print("111");

        }

Xstudio工作室隐私权声明

本隐私权政策详细说明了Xstudio工作室(“Xstudio工作室”、“我们”或“我们的”)通过我们的应用程序和网站收集的信息,以及我们将如何使用这些信息。


1.Xstudio工作室不会通过我们的应用程序或网站收集儿童的个人信息。

我们深知用户个人信息的重要性,特别是对于未成年人。在我们的app及网站中,不要求用户输入详细个人信息资料。用户使用Xstudio工作室软件时可能会被Xstudio工作室读取一些信息(比如基于网络的粗略位置、GPS位置、网络通信、手机状态、wifi状态等),这是由于Xstudio工作室产品本身已拥有中文、英语、日语、法语、阿拉伯语、俄语等多国语言,以便于Xstudio工作室有针对性的开发个性化产品;iOS与android手机设备多样化,我们需要进行多种兼容性测试以保证Xstudio工作室用户能正常使用软件;由于移动互联行业的特殊性,Xstudio工作室产品需要配合硬件的升级进行产品本身或者产品自身品质的升级,因此可能需要读取wifi来告知用户是否有升级产品出现,如没有启动wifi则不提示。这样可以避免用户在不知情的情况下更新产品,造成不必要的流量 损耗等等诸如此列的原因。Xstudio工作室承诺所读取到的任何信息,只被使用于Xstudio工作室软件的开发,而不会透入给第三方(其它个人或公司),除非得到您的许可或法律或政府的强制规定。


2.我们遵守“儿童在线隐私保护法案”

我们的所有儿童类app及网站遵循有关儿童在线隐私保护条款。我们不会有意收集任何未满13周岁儿童的个人信息,如检测到年龄小于13周岁,我们将会及时删除相关信息,不会予以保留、存储。


3.第三方网站链接

我们可能会提供从我们的网站链接和/或连接到第三方网站或服务,对第三方网站的隐私做法或内容,我们不予负责。


4.隐私政策修改

我们可能会对隐私条款进行随时修改,并保留最终解释权。


5.联系我们

如果您有关于本隐私政策的任何问题或疑虑,请发送邮件到:lingyifang4@163.com

动态替换SpriteRenderer中的sprite 属性

比如,你这个带有spriterenderer组件的物体名字叫test,就这样写,Gameobject.find("test").GetComponent<SpriteRenderer>().sprite = sprite//最后面的这个sprite就是你要替换的图片,你可以定义一个public Sprite sprite;然后再检视面板把你的图片托给这个定义的变量就好了,记得你的图片的Texture Type要改成sprite类型

关于LinRenderer 画线

if (_star.GetComponent<LineRenderer>() == null)

{

     LineRenderer _l= _star.AddComponent<LineRenderer>();

      _l.SetColors(_color, _color);

      _l.sharedMaterial = new Material(Shader.Find("Particles/Additive"));

          _l.useWorldSpace = true;

         _l.SetWidth(start_with, end_with);

       _l.SetVertexCount(2);

        _isstartdrewline = true;

   }

else

 {

        return;

  }





    void lineRenderer()

    {        

        LineRenderer _linerenderer = _star.GetComponent<LineRenderer>();

        _linerenderer.SetPosition(0, _star.transform.position);

        Vector3 _v = Camera.main.ScreenToWorldPoint(Input.mousePosition);

        _linerenderer.SetPosition(1, new Vector3(_v.x,_v.y,0));

    }


画线的长度是在setposition 中,0,开始位置。1为结束位置

关于改变Image 的 source image 属性

 在start 中 读取资源

   void Start () {

_obj = Resources.LoadAll ("Nunber", typeof(Sprite));



替换图片资源代码如下



    void UpdateImage() {


        Image _i = _mage.GetComponent<Image>();



        for (int i = 0; i < _obj.Length; i++)

        {

            if(i == _N)

            {

                Sprite _s = _obj[i] as Sprite;

                _i.overrideSprite = _s;

            }

        }


    }


Unity3D制作图片数字作为分值显示

由于使用程序绘制数字局限性比较强,所以通常会使用图片来绘制数字。绘制原理为:首先取得需要显示数字的个位,十位,百位……数组序列,接着在图片数组中寻找对应的图片,然后将其绘制在屏幕中。

 

代码示例(C#):

 

using UnityEngine;

using System.Collections;

 

public class numberTexture : MonoBehaviour

{

    Object[] texmube;                                      //储存图片资源数组

    int mumber = 1980;                                     //所要测试的绘制数据

 

void Start()

{

        texmube = Resources.LoadAll("Textures");           //读取图片资源

}

 

void OnGUI()

{

        DrawImageNumber(0, 100, mumber, texmube);          //绘制图片数字

}

 

 

void DrawImageNumber(int x,int y,int mumber,Object[] texmube)

{

//将整形转成字符数组

char[] chars = mumber.ToString().ToCharArray();

 

        Texture2D tex = (Texture2D)texmube[0];             //计算图片的宽度与高度

int width = tex.width;

int height = tex.height;

 

        foreach (char s in chars)                          //遍历字符数组

{

            int i = int.Parse(s.ToString());              //得到每一位整形数据

//绘制图片数字

GUI.DrawTexture(new Rect(x,0,width,height),(Texture2D)texmube[i]);

x += width;                                    //逐行绘制显示图片宽度

}

}

}


Xstudio工作室隐私政策

Xstudio工作室尊重并保护所有使用服务用户的个人隐私权。为了给您提供更准确、更有个性化的服务,Xstudio工作室会按照本隐私权政策的规定使用和披露您的个人信息。但Xstudio工作室将以高度的勤勉、审慎义务对待这些信息。除本隐私权政策另有规定外,在未征得您事先许可的情况下,Xstudio工作室不会将这些信息对外披露或向第三方提供。Xstudio工作室会不时更新本隐私权政策。 您在同意Xstudio工作室服务使用协议之时,即视为您已经同意本隐私权政策全部内容。本隐私权政策属于Xstudio工作室服务使用协议不可分割的一部分。 

1. 适用范围 

a) 在您注册Xstudio工作室帐号时,您根据Xstudio工作室要求提供的个人注册信息; 

b) 在您使用Xstudio工作室网络服务,或访问Xstudio工作室平台网页时,Xstudio工作室自动接收并记录的您的浏览器和计算机上的信息,包括但不限于您的IP地址、浏览器的类型、使用的语言、访问日期和时间、软硬件特征信息及您需求的网页记录等数据; 

c) Xstudio工作室通过合法途径从商业伙伴处取得的用户个人数据。 

您了解并同意,以下信息不适用本隐私权政策: 

a) 您在使用Xstudio工作室平台提供的搜索服务时输入的关键字信息; 

b) Xstudio工作室收集到的您在Xstudio工作室发布的有关信息数据,包括但不限于参与活动、成交信息及评价详情; 

c) 违反法律规定或违反Xstudio工作室规则行为及Xstudio工作室已对您采取的措施。 

2. 信息使用 

a) Xstudio工作室不会向任何无关第三方提供、出售、出租、分享或交易您的个人信息,除非事先得到您的许可,或该第三方和Xstudio工作室(含Xstudio工作室关联公司)单独或共同为您提供服务,且在该服务结束后,其将被禁止访问包括其以前能够访问的所有这些资料。 

b) Xstudio工作室亦不允许任何第三方以任何手段收集、编辑、出售或者无偿传播您的个人信息。任何Xstudio工作室平台用户如从事上述活动,一经发现,Xstudio工作室有权立即终止与该用户的服务协议。 

c) 为服务用户的目的,Xstudio工作室可能通过使用您的个人信息,向您提供您感兴趣的信息,包括但不限于向您发出产品和服务信息,或者与Xstudio工作室合作伙伴共享信息以便他们向您发送有关其产品和服务的信息(后者需要您的事先同意)。 

3. 信息披露 

在如下情况下,Xstudio工作室将依据您的个人意愿或法律的规定全部或部分的披露您的个人信息: 

a) 经您事先同意,向第三方披露; 

b) 为提供您所要求的产品和服务,而必须和第三方分享您的个人信息; 

c) 根据法律的有关规定,或者行政或司法机构的要求,向第三方或者行政、司法机构披露;

d) 如您出现违反中国有关法律、法规或者Xstudio工作室服务协议或相关规则的情况,需要向第三方披露;  

e) 如您是适格的知识产权投诉人并已提起投诉,应被投诉人要求,向被投诉人披露,以便双方处理可能的权利纠纷;

f) 在Xstudio工作室平台上创建的某一交易中,如交易任何一方履行或部分履行了交易义务并提出信息披露请求的,Xstudio工作室有权决定向该用户提供其交易对方的联络方式等必要信息,以促成交易的完成或纠纷的解决。  

g) 其它Xstudio工作室根据法律、法规或者网站政策认为合适的披露。  

4. 信息存储和交换  

Xstudio工作室收集的有关您的信息和资料将保存在Xstudio工作室及(或)其关联公司的服务器上,这些信息和资料可能传送至您所在国家、地区或Xstudio工作室收集信息和资料所在地的境外并在境外被访问、存储和展示。 

5. Cookie的使用 

a) 在您未拒绝接受cookies的情况下,Xstudio工作室会在您的计算机上设定或取用cookies

,以便您能登录或使用依赖于cookies的Xstudio工作室平台服务或功能。Xstudio工作室使用cookies可为您提供更加周到的个性化服务,包括推广服务。  b) 您有权选择接受或拒绝接受cookies。您可以通过修改浏览器设置的方式拒绝接受cookies。但如果您选择拒绝接受cookies,则您可能无法登录或使用依赖于cookies的Xstudio工作室网络服务或功能。 

c) 通过Xstudio工作室所设cookies所取得的有关信息,将适用本政策。  

6. 信息安全  

a) Xstudio工作室帐号均有安全保护功能,请妥善保管您的用户名及密码信息。Xstudio工作室将通过对用户密码进行加密等安全措施确保您的信息不丢失,不被滥用和变造。尽管有前述安全措施,但同时也请您注意在信息网络上不存在“完善的安全措施”。  

b) 在使用Xstudio工作室网络服务进行网上交易时,您不可避免的要向交易对方或潜在的交易对方披露自己的个人信息,如联络方式或者邮政地址。请您妥善保护自己的个人信息,仅在必要的情形下向他人提供。如您发现自己的个人信息泄密,尤其是Xstudio工作室用户名及密码发生泄露,请您立即联络Xstudio工作室客服,以便Xstudio工作室采取相应措施。