Unity 与 iOS 间相互传消息

本文详细介绍了如何在Unity游戏引擎和iOS应用之间实现双向消息传递。通过Unity的UnitySendMessage方法,iOS可以控制Unity游戏对象的行为,如旋转立方体;同时,Unity也能调用iOS端的方法,如显示警告框。文章涵盖了Unity端和iOS端的代码实现,包括脚本创建、按钮响应和SDK管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于要进行游戏的sdk接入工作,所以涉及到这方面的知识。

主要借鉴了MOMO雨松大神的文章,以及网上其他一些相关的内容。

网上的内容有些旧,Unity之后build的出的xcode工程,稍有改变,我们按照新的内容重新实验了一遍。一下是步骤的记录。


既然是相互传消息,就要分两方面的了:

1. ios ----> unity :也就是通过在iOS端的行为,控制unity端做出反应。例子中是通过点击iOS按钮,让unity中的cube旋转。

而我则通过这个途径来接收iOS端sdk传来的回调信息。

2. unity ----> ios :就是在unity游戏中做一些行为,调用iOS端的函数。例子中是点击unity按钮,调出iOS中的提示页面alart。

而我是要用这种方法在游戏里调用平台的sdk,包括启动sdk,登录,支付等等。

在unity端和iOS端我们都要做一些工作:

为了方便起见,我们在unity端和iOS端都会处理两部分工作,我会在每端一次性处理两部分工作。

在unity端一次性处理 1.iOS--->unity 工作以及2.unity--->ios 工作

在iOS端一次性处理 1.iOS--->unity 工作以及2.unity--->ios 工作


首先在unity端:

1. ios ----> unity :

在unity工程中,建立一个cube,我们要用代码控制它转动。

之后把我们写的代码绑在cube上(就是那个MoveScript)

我把代码贴出来,其实就是方便演示一下,大家直接粘就好了:MoveScript.cs

using UnityEngine;
using System.Collections;

public class MoveScript : MonoBehaviour {

	public Vector3  vrotate;  
      
    private void MoveFunction( Vector3 vFRotate )   
    {  
        float rotate = Time.deltaTime * 100;  
        vrotate = vFRotate * rotate;  
        transform.Rotate ( vrotate , Space.World );  
    }  
      
    public void MoveLeft( string message )  
    {  
        Debug.Log ("ios param :" + message );  
        MoveFunction ( Vector3.up );  
    }  
      
    public void MoveRight( string message )  
    {  
        Debug.Log ("ios param :" + message );  
        MoveFunction( Vector3.down );  
    }  
      
    public void MoveUp( string message )   
    {  
        Debug.Log ("ios param :" + message );  
        MoveFunction( Vector3.right );  
    }  
      
    public void MoveDown( string message )  
    {  
        Debug.Log ("ios param :" + message );  
        MoveFunction( Vector3.left );  
    }  
	
}
 
 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值