unity sendmessage(如何在Unity3d中实现和网页数据的交互)
本文目录
- 如何在Unity3d中实现和网页数据的交互
- 求问unity3d怎样发送广播和接收消息
- unity *****调用的方法有多个参数的调用方法
- ios或者Android调用Unity的时候,如何取得函数返回值,以及传多个参数
- unity 3d *****怎么用
- unity 与oc交互
如何在Unity3d中实现和网页数据的交互
1、unity向网页发送数据的函数:*****("SayHello",*****),这个函数将调用网页中的SayHello函数,*****为传递的参数。
2、网页向unity发送数据的函数:网页中用GetUnity().SendMessage(message, "AcceptName", buildingname)函数来调用unity中的函数,此函数的参数message为unity中的物体,AcceptName为物体上的函数,buildingname为传递的参数。
网页中的函数如下:
1 function SayHello(message){//此函数来接收unity中发送出来的message值,并将处理后的数据再发送回unity中
2 *****(’../Unity/javascript/*****’, {id:message}, function(data)
3 {
4 var msg=*****(data);//将json数据解析
5 var buildingname = *****_name;
6 var buildingcategory=*****_category;
7 var buildingpic = *****_pic;
8 GetUnity().SendMessage(message, "AcceptName", buildingname);//向unity中的message物体上的MyFunction函数发送buildingname值
9 GetUnity().SendMessage(message, "AcceptCategory", buildingcategory);
10
11 GetUnity().SendMessage(message, "AcceptImg", buildingpic);
12 });
13 }
此函数将unity中发送的数据message传到*****中,在*****中将传递过来的数据进行查询等操作,然后再用GetUnity().SendMessage(message, "AcceptName", buildingname)将处理好的数据buildingname传给unity中的AcceptName函数。
以下是unity中的脚本,可以实现中文,关于中文的实现由于文章有限,在此不再说明,只说明怎样接收网页中的数据。
1 var chineseSkin : GUISkin;//在此可以选择字体,并设置为中文。建议器设为uft-8。
2
3 var buildingname:String;//用来接收从网页中传递过来的buildingname值
4 var buildingcategory:String;//用来接收从网页中传递过来的buildingcategory值
5
6 var buildingpic:Texture2D;//用来接收从网页中传递过来的buildingpic值
7 var windowRect0 = Rect (20, 20, 250, 200);
8 var enable:boolean;
9 function Awake(){
10 enable = false ;
11 }
12 function OnMouseDown () {
13 *****("SayHello",*****);// 向网页中的SayHello函数发送*****数据
14 enable = true;
15 }
16 function AcceptName(bdname){//用于接收网页中发送回来的数据
17 buildingname=bdname;
18 }
19 function AcceptCategory(buildingType){//用于接收网页中发送回来的数据
20 buildingcategory=buildingType;
21 }
22
23 function AcceptImg(img){
***隐藏网址***
25 yield www;
26 buildingpic=*****;
27 }
28 function OnGUI(){
29 *****=chineseSkin;
30 if(enable)
31 {
32 windowRect0 = ***** (0, windowRect0, DoMyWindow, "属性");
33 }
34 }
35 function DoMyWindow (windowID : int) {
36 *****(Rect(10,50,80,30),"建筑物名字");
37 *****(Rect(100,50,100,30),buildingname);
38 *****(Rect(10,100,80,30),"建筑物类型");
39 *****(Rect(100,100,100,30),buildingcategory);
40
41 *****(Rect(10,150,200,50),buildingpic,*****,true,0);
42 if(*****(Rect(190,20,50,30),"退出")){
43 enable = false;
44 }
45 ***** (Rect (0,0,10000,10000));
46 }
47 function OnMouseOver(){
48 *****(0,******100,0,*****);
49 }
50 function OnMouseEnter(){
51 ***** = *****;
52 }
53 function OnMouseExit(){
54 ***** = *****;
55 }
这是unity中的脚本,此脚本实现点击物体,弹出物体的属性。
求问unity3d怎样发送广播和接收消息
unity自带sendmessage()/sendmessageupwards()函数,你可以百度一下,但是效率不是很高,大一点的项目最好自己利用委托来实现
unity *****调用的方法有多个参数的调用方法
多个参数不能直接传递,写一个class,里面包含多个属性,然后SendMessage传那个class。
还有,不建议SendMessage,因为用的是函数名,所以效率低而且容易出错。建议用 UnityEvent《xxx,xxx》 比如
using *****;
public class BoolEvent : UnityEvent《bool》 { }
private BoolEvent YourEvent;
然后在Inspector里设置callBack,就像uGUI的那些callBack那样。
ios或者Android调用Unity的时候,如何取得函数返回值,以及传多个参数
sendmessage("what",x) 是个void 方法 如果你非要取得返回值 你可以 建一个 static 变量x嘛 然后 ***** = x; 就可以取得当前的值也可以给别的脚本使用 或者 你在方法里运算完 再存 也都可以。斗举
至于 多个参数 unity 的 sendmessage 貌似只支持一个参数 如果你非要多个参数 再如果你的参数都是int 或者 float 或者bool类型的话 你可以传递一个 进去进行拆分嘛 比穗瞎如 要传递x=1,y=****,z=true 的话 你空族碧就可以传进去 一个 string = "12true" 然后在方法体里 *****()拆分吧
unity 3d *****怎么用
*****("myfunc",****);
查找本物体(本组件所在的)上的myfunc方法,调用,并传值****,其实就是一个检索方法的api,比较耗,不建议使用,最好是获取这个代码(也是组件),直接调用某方法
unity 与oc交互
"$(PROJECT_DIR)"代表了工程的根目录
unity 与oc交互主要在于数据间的传递,unity传递的值到了oc这里可以用c接收并解析。基础的一些数据类型对应可以看下如下:
在Object-C的工具里面吧***.mm写好,放到Unity项目的Assets/Plugins/iOS下面。(Unity2018及以上只要放在任意iOS的夹下即可)
在C#里面写上代static extern的 函数,与C里面的函数同名。
一.基础的调用参数,无传参
*****
*****
二.传递参数
*****
*****
三.OC回调Unity
1.使用函数指针接口方法进行回调,可以传参,也可以带返回参数,调用灵活。(推荐使用)
*****()需要有固定的游戏物体,按名称查找,并且是激活状态,不能隐藏(不推荐,无法灵活使用)。
此处记录unity器打包xcode自动化脚本。大部分的目录与属性都可以个性成功。至于复制文件以Groud的方式,还有一些问题。需要处理多余引用资源的问题。工具可以后期考虑集成方式,做成成品工具。方便多元化出包。
更多文章:
shell脚本返回执行结果(怎么在shell脚本里面获得sqlplus执行的结果)
2026年5月10日 12:20
tooth有几个音节?Android开发之蓝牙(Bluetooth)
2026年5月10日 12:00
unity sendmessage(如何在Unity3d中实现和网页数据的交互)
2026年5月10日 11:40
mvc拦截器只执行了一次(求助SpringMVC拦截器不起作用)
2026年5月10日 11:00
jquery弹出div窗口(如何在jquery中弹出div层并在div层中绑定查询的数据)
2026年5月10日 10:40
python学习路线图(现存python后端学习路线是怎样的)
2026年5月10日 10:20


