iLeichun

五月婷婷深开心五月 色情五月亚洲中文字幕 就去干就去吻 东京热网址 亚洲avsss在线观看 欧美图片亚洲区图片 黄色免费网站 亚洲黄色网站 深爱五月丁香开心婷婷 天天鲁夜夜啪视频在线 韩国三级最新大电影 欧美在线成人 野狼社区东京热av 全国亚洲最大色情网 第四色电影 99久久免费视频观看 狠狠色丁香婷婷综合 俺也去网 k频道网址导航入口 99久久爱看免费观看 欧美成人色导航 大香焦 亚洲色色 熟女社区 老司机福利 动漫人妻女优 调教女优 美国十次导航 奇虎福利导航 擼擼擼 情色網站大全 濕樂園導航 淫领全球导航 左手很忙影视 七星福利导航 夜狼AV 亚洲无码色情导航 亚洲色情网 亚洲av国产av手机在线 熟女人妻视频 岛国电影 无码女优 偷拍自拍 亚洲色情欧美激情 亚洲色情网 亚洲情色 就去干就去吻 东京热网址 老司机福利 激情影院
当前位置:首页

Unity某个类访问另一个类成员的几种方式

分类:Unity3d  来源:网络  时间:Jul 25, 2019 3:00:01 PM

Unity中的脚本大多数都是绑定到某个游戏对象中,那么某个类要如何才能访问到另一个类的属性和方法?下面提供几种方式,供参考:


方式1:设置被调用类为单例

public class PlayerAttack : MonoBehaviour {  

    public static PlayerAttack _instance; // static关键字,单例模式   

  

    void Awake(){  

        _instance = this;// 确保在使用前已被初始化  

    }  

  

    public void TakeDamage(int damage){  // 可被外部调用的方法

          

    }  

}


public class Enemy : MonoBehaviour {

   void Attack(){      // 当敌人攻击主角时

      PlayerAttack._instance.TakeDamage(20);

   }

}


方式2:设置被调用类的属性、方法为static

public class PlayerAttack : MonoBehaviour {  

    public static void TakeDamage(int damage){  // 可被外部调用的方法

          

    }  

}


方式3:使用GameObject的SendMessage()

public class PlayerAttack : MonoBehaviour {  

    public void TakeDamage(int damage){  // 可被外部调用的方法

          

    }  

}


public class Enemy : MonoBehaviour {  

    void Attack(){  

      // 主角模型的tag为PlayerBoy

        GameObject p = GameObject.FindGameObjectWithTag("PlayerBoy");

        p.SendMessage("TakeDamage", 20);  

    }  

}


方式4:获取到某个对象的Script组件

这个脚本放在cube上 

public class Score : MonoBehaviour {  

    public  int allScore=100;  

    void Update () {  

       ...

    }  

}  


访问Score.allScore

public class Text : MonoBehaviour {  

    public GameObject Obj1;  

    void Start () {  

       Obj1 = GameObject.Find("Cube");  

       Score script=Obj1.GetComponent<Score>(); // 取对象的Script组件

       Debug.Log(script.allScore);   

    }  

}  


VS找不到UnityEngine、UnityEngine.UI等引用的解决办法

分类:Unity3d  来源:网络  时间:Jan 9, 2019 3:46:15 PM

当打开别人的项目或者自己的项目在其他电脑上打开时,VS中可能会出现找不到Unity库的问题,这往往是由于不同电脑中Unity安装目录不相同导致的。会出现下图所示的情况:

11.png


打开某个类后也会出现找不到引用类的情况,如

22.png


要解决这个问题就得让VS能正确找到每个引用的位置,可以有3种方法:


一、手动在VS中添加引用

如下图所示,首先得找到dll文件所在的位置,才能导入。这种方式比较繁琐。

33.png


20190109_154417_0752.png


二、Unity中设置

如下图所示,先把脚本编辑器改成MonoDevelop,然后用MonoDevelop随便打开一个脚本,打开后可以关闭MonoDevelop

55.png


66.png


再把脚本编辑器改成VS,

77.png


再用VS打开脚本的时候发现引用正常了

8.png


三、修改配置文件

用文本编辑器打开工程目录下面的 Assembly-CSharp.csproj、Assembly-CSharp-Editor.csproj 两个文件,对里面的所有不正确的路径进行修改即可

9.png


总结:

其实方式一、二最终都是要修改 Assembly-CSharp.csproj、Assembly-CSharp-Editor.csproj 这两个配置文件,只是比方式三更可视化一些。方式二最简单,是利用MonoDevelop来自动修改上述配置文件,但是如果没有安装MonoDevelop或者采用该方式失败的时候就只有改用其他方式了。总之,不管使用哪种方式,适合自己的就是最好的,每个人都有不同的爱好。


Flash Builder链接了外部资源后打不开怎么办?

分类:Flash  来源:网络  时间:Jun 14, 2018 8:37:56 PM

假设该项目链接了两个外部目录,分别为:

H:/Helloworld/war

H:/Helloworld/map


如图:

blob.png


但是如果上面两个目录下面的文件非常多,那么就有可能导致Flash Builder卡死,甚至奔溃。那么在强制退出之后再重启时可能会由于内存不足而不能打开Flash Builder了,这时怎么办?这时有两种选择:


一、删除项目目录下所有Flash Builder配置文件,重新建立项目

选中下面的目录或文件删除,再打开Flash Builder,此时项目在Flash Builder中找不到了,需要重新建立一个项目。

blob.png

blob.png


二、修改配置文件

1、用文本编辑器打开.actionScriptProperties,修改蓝色框框中的内容

blob.png


修改后变成:

blob.png


2、用文本编辑器打开.project,删除下面的内容

blob.png


3、重新启动Flash Builder就正常了,可以看到连接的内容已经不见了,如果需要可以重新链接,但最好使用完成后在关闭Flash Builder之前取消链接,以免下次不能正常打开Flash Builder。

LayaAir提示:版本不匹配!全局tsc(2.7.2)!=VS Code的语言服务(2.1.5)。可能出现不一致的编译错误

分类:其他  来源:网络  时间:Apr 10, 2018 11:55:42 AM

LayaAir编译时提示:版本不匹配!全局tsc(2.7.2)!=VS Code的语言服务(2.1.5)。可能出现不一致的编译错误

QQ截图20180410113537.jpg


这个错误意思是VS Code内置的TypeScript与本地安装的TypeScript版本号不匹配;

在cmd窗口输入:tsc -v,发现当前本地的TypeScript版本号是2.7.2

QQ截图20180410115056.jpg


为此,需要修改本地TypeScript版本号为2.1.5,在cmd中输入下面的命令重新安装下就好了:

npm install -g typescript@2.1.5

QQ截图20180410115029.jpg


重新查看版本号,发现已经改过来了。

QQ截图20180410115119.jpg


重启LayaAir就正常了。


分享两个实用的股票数据接口

分类:个人日志  来源:网络  时间:Apr 8, 2018 10:02:31 AM

一、搜狐(推荐)

可查询任意时间区间,起始时间不受限制,api为:

http://q.stock.sohu.com/hisHq?code=cn_000858&start=20180101&end=20181231&stat=1&order=D&period=d&callback=historySearchHandler&rt=jsonp


参数说明:

code:股票代码

start:开始日期

end:结束日期


返回json数据,每天1条数据,下面是其中1天:

["2018-03-09","77.30","77.10","0.20","0.26%","76.18","78.39","245529","189421.42","0.65%"]

分别表示:

时间、开盘价、收盘价、涨跌金额、涨幅、最低价、最高价、成交量、成交金额、换手率


二、新浪

最多只能获取最近1023个节点的数据(大概最近3个半月)

http://money.finance.sina.com.cn/quotes_service/api/json_v2.php/CN_MarketData.getKLineData?symbol=sz002095&scale=60&ma=no&datalen=1023


参数说明:

symbol:股票代码

datalen:节点个数,最大为1023,大于此值也最多只显示最近的1023个


返回json数据,每天有4条数据(每小时1条,若要取当天收盘数据,就是对应4条中的最后一条),下面是其中1天:

{day:"2018-03-09 10:30:00",open:"44.520",high:"47.500",low:"44.000",close:"47.200",volume:"3105149"},

{day:"2018-03-09 11:30:00",open:"47.200",high:"49.150",low:"46.790",close:"49.150",volume:"3982161"},

{day:"2018-03-09 14:00:00",open:"49.150",high:"49.150",low:"49.150",close:"49.150",volume:"1161098"},

{day:"2018-03-09 15:00:00",open:"49.150",high:"49.150",low:"49.150",close:"49.150",volume:"253529"}

分别表示:

时间、开盘价、最高价、最低价、收盘价、成交量


ps:由此可见无论是时间跨度还是数据量,都是搜狐的接口更好,推荐使用


C#数组初始化的3种方式

分类:C#  来源:网络  时间:Dec 28, 2017 3:45:55 PM

C#数组的初始化有3种方式,方便在不同的场合选择不同的方式来初始化,下面将举例说明:

(1)一维数组

初始化的3种方式:

①int[] arr = new int[2];

arr[0] = 1;

arr[1] = 2;

②int[] arr = new int[]{1, 2};

③int[] arr = {1, 2};


(2)二维(或多维)数组

本例以二维数组为例,多维数组类推,初始化的3种方式:

①int[,] arr = new int[2, 3];

arr[0, 1] = 1;

arr[0, 2] = 2;

arr[0, 3] = 3;

arr[1, 1] = 11;

arr[1, 2] = 22;

arr[1, 3] = 33;

②int[,] arr = new int[,]{{1, 2, 3}, {11, 22, 33}};

③int[,] arr = {1, 2, 3}, {11, 22, 33};


(3)不规则数组

int[][] arr = new int[2][];

arr[0] = new int[4];

arr[1] = new int[5];

然后要对子数组进行初始化,可使用上述(1)(2)中的3种方式进行,如:

arr[0][0] = 1;

arr[0][1] = 2;

...


Unity3d之Hinge Joint组件

分类:Unity3d  来源:网络  时间:Dec 19, 2017 4:29:03 PM

链接两个物体,两个物体的运动互相牵连;

blob.png

此处两个物体均需要有Rigidbody组件;假设有A、B两个新物体,均没有Rigidbody组件,则:

(1)若给A添加Hinge Joint组件,会自动添加Rigidbody组件;

(2)当给A链接B时,若B没有Rigidbody组件,将不会出现在选择列表中,无法链接;

(3)当A已经链接B时,若尝试删除A的Rigidbody组件,则会提示无法删除,必须要先手动移除Hinge Joint组件,才能删除Rigidbody组件;

blob.png

(4)当A已经链接B时,若删除B的Rigidbody组件,则A中的链接源会显示已丢失;

blob.png

(5)也可以给B新增链接到C,此时3个物体的运动均受到牵连;当然B也可以链接到A(由于A已链接到B,所以这个链接是多余的,效果不受影响);

(6)若已给B添加Hinge Joint组件,但没设置链接源,则A、B均保持静止;

(7)A、B物体的Use Gravity均不勾选时,A、B均保持静止,否则有一个勾选,两个物体均会运动;

blob.png

jsp中各种url的获取方法

分类:Jsp  来源:网络  时间:Dec 15, 2017 10:52:52 PM

1、获取项目名称,如:myproject

String path = request.getContextPath();


2、获取项目根目录地址,如:http://localhost:8080/myproject/

String basePath = request.getScheme()+"://"+request.getServerName()

+":"+request.getServerPort()+path+"/";


3、获取当前访问的文件所在目录,如http://localhost:8080/myproject/book/

String nowPath = basePath + 

request.getServletPath().substring(0,request.getServletPath().lastIndexOf("/")+1);


4、获取当前访问文件,如http://localhost:8080/myproject/book/book.jsp

String nowPath = basePath + request.getServletPath();


unity3d查找某个游戏对象的三种方法

分类:Unity3d  来源:网络  时间:Dec 8, 2017 4:15:38 PM

unity3d查找某个游戏对象有三种方法,分别是Find、FindWithTag、FindGameObjectsWithTag,每种方法各有特色

(1)GameObject.Find()

blob.png

// Sphere为游戏对象名称,区分大小写

GameObject sp = GameObject.Find("Sphere");

//判断是否为空

if(sp != null)

{

...

}

该方法的执行效率低,最好不要在update中调用;否则,最好用FindWithTag()替代


(2)GameObject.FindWithTag()

blob.png

// Sphere1为游戏对象tag,区分大小写

GameObject sp = GameObject.FindWithTag("Sphere1");

需要先给组件设置一个tag,若有多个相同tag的对象,则只取第一个对象


(3)GameObject.FindGameObjectsWithTag()

获取具有相同tag的游戏对象数组,需要循环处理数组

GameObject[] sp = GameObject.FindGameObjectsWithTag("Sphere1");


AS3中Object键值对的一些总结

分类:ActionScript  来源:网络  时间:Nov 30, 2017 11:10:21 AM

一、键值对的多种写法

1、数字作为键

var obj : Object = {1:"ab", 2:"cd", 3:"ef"};


2、字符串作为键

var obj : Object = {a:"ab", b:"cd", c:"ef"};

var obj : Object = {"a":"ab", "b":"cd", "c":"ef"};

当然,数字也可以作为字符使用,于是

var obj : Object = {"1":"ab", "2":"cd", "3":"ef"};


3、数组作为键

var nameArr = ["a", "b", "c"];

var stoneObj0 : Object = {(nameArr[0]) : 2, (nameArr[1]) : 2, (nameArr[2]) : [1, 2]};

注意要加括号,而不能是

var stoneObj0 : Object = {nameArr[0] : 2,   nameArr[1] : 2,   nameArr[2] : [1, 2]};


4、数组作为值

var obj : Object = {1:["ab", "cd"], 2:["ef", "gh"]};



二、键值对的获取

1、for...in获取键、值

var obj : Object = {1:"ab", 2:"cd"};

for (var key in obj) { 

    trace("键:" + key);

    trace("值:" + obj[key]); 


输出:

键:1

值:ab

键:2

值:cd



2、for each..in获取值

var obj : Object = {1:"ab", 2:"cd"};

for each(var value in obj) { 

    trace("值:" + value); 


输出:

值:ab

值:cd


  • 60
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • >>
  • >|