文档章节

Unity平台调用IOS

 江湖令
发布于 2016/01/27 15:37
字数 336
阅读 68
收藏 0

C#调用IOS脚本

using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;

public class SDK_Manager_IOS
{
    [DllImport("__Internal")]
    private static extern void _MinePlayMove();


    [DllImport("__Internal")]
    private static extern void _XiYouCopyToClipboard(string str);
    
    //播放视频
    public static void MinePlayMove()
    {
        if( Application.platform == RuntimePlatform.IPhonePlayer )
            _MinePlayMove();
    }

    //复制到剪贴板
    public static void CopyToClipboard(string str)
    {
        if (Application.platform == RuntimePlatform.IPhonePlayer)
            _XiYouCopyToClipboard(str);
    }
}

IOS脚本

UnityAppController.mm

///////////////////////////////////////////////////////////////////////
extern "C" {
    void _MinePlayMove();
    void _XiYouCopyToClipboard(const char* str);
}


//播放视频
void _MinePlayMove()
{
    NSLog(@"Start");
    
    i++;
    NSString *path = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"MP4"];
    NSLog(@"FilePath is  %@ ", path);
    //视频URL
    NSURL *url = [NSURL fileURLWithPath:path];
    //视频播放对象
    GetAppController().movie = [[MPMoviePlayerController alloc] initWithContentURL:url];
    GetAppController().movie.controlStyle = MPMovieControlStyleNone;
    [GetAppController().movie.view setFrame:GetAppController().unityView.bounds];
    
    
    UIButton * btn = [UIButton buttonWithType:UIButtonTypeCustom];
    [btn setImage:[UIImage imageNamed:@"backButton.png"] forState:0];
    //btn.frame = CGRectMake([UIScreen mainScreen].bounds.size.width-200, [UIScreen mainScreen].bounds.size.height-100, 187 , 76);
    float widht =[UIScreen mainScreen].bounds.size.width;
    float height =[UIScreen mainScreen].bounds.size.height;
    float temp = widht;
    if(widht < height)
    {
        widht = height;
        height =temp;
    }
    if(widht >= 1024)
    {
        btn.frame = CGRectMake(widht-190, height-80, 187 , 76);
    }
    else
    {
        btn.frame = CGRectMake(widht-187*0.8, height-76*0.8, 187*0.6 , 76*0.6);
    }
    NSLog(@"width=%f,height=%f",btn.frame.origin.x,btn.frame.origin.y);
    NSLog(@"width=%f,height=%f",[UIScreen mainScreen].bounds.size.width,[UIScreen mainScreen].bounds.size.height);
    
    
    //  [btn setTitle:@"Stop" forState:UIControlStateNormal];
    [btn addTarget:GetAppController() action:@selector(FinishedCallback) forControlEvents:UIControlEventTouchUpInside];
    
    //[btn release];
    
    // movie.initialPlaybackTime = -1;
    [GetAppController().unityView addSubview:GetAppController().movie.view];
    // 注册一个播放结束的通知
    [[NSNotificationCenter defaultCenter] addObserver:GetAppController()
                                             selector:@selector(movieFinishedCallback:)
                                                 name:MPMoviePlayerPlaybackDidFinishNotification
                                               object:GetAppController().movie];
    
    [GetAppController().movie.view addSubview:btn];
    [GetAppController().movie play];
}


//复制到剪贴板
void _XiYouCopyToClipboard(const char* str)
{
    
    NSString *copyStr = [NSString stringWithCString:str encoding:NSUTF8StringEncoding];
    NSLog(@"开始复制到剪贴板 :%@",copyStr);
    UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
    pasteboard.string = copyStr;
    
    
    UIAlertView *alter = [[UIAlertView alloc] initWithTitle:@"系统提示" message:@"已复制到剪贴板。" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
    
    [alter show];
    [alter release];
}


//显示对话框

//显示遮罩


© 著作权归作者所有

共有 人打赏支持
粉丝 1
博文 74
码字总数 15154
作品 0
西安
私信 提问
将成型的iOS工程嵌入到u3d工程中

一、合并iOS工程和u3d工程 1、一个U3d导出的Xcode工程Unity-iPhone,单独编译运行OK 2、一个iOS工程ARHere,单独编译运行OK 3、打开终端cd 到Unity-iPhone文件夹,vim Podfile,把ARHere的内...

朝雨晚风
2016/11/29
0
0
Unity3D调用快三平台出租原生Android和IOS复制粘贴功能

今天要实现快三平台出租 haozbbs.com Q1446595067 用Unity调用设备的复制到粘贴板功能,Unity没有实现这个功能,所以需要调用设备原生的功能了,在网上找了一下,不算太多而且大多都不能使用...

yuus
2018/07/10
0
0
Unity3D 游戏引擎之构建游戏框架与导出IOS项目(一)

Unity3D游戏引擎之构建游戏框架与导出IOS项目 雨松MOMO原创文章如转载,请注明:转载自雨松MOMO的博客原文地址:http://blog.csdn.net/xys289187120/article/details/6862563 首先先去Unity3D...

彭博
2012/03/09
876
0
悬赏RMB100求解决.如何让两个重叠的view同时响应touch事件

抄袭宠物小精灵,把高德地图的MAMapView和Unity 3D的UnityView重叠,Unity的View在上层,所以Unity 的View阻挡了高德地图View的事件。 用_unityView.userInteractionEnabled = NO;的话,那么...

NickWidle
2016/09/01
701
2
Unity与IOS交互,调用IOS系统相机和相册

前面两篇总结了一下unity与android的简单交互和调用安卓系统相机和相册,比较蛋疼的是,后来发现不同的测试机上会有不同的bug。。。下阶段要一个一个的解决一下 今天总结一下与IOS的交互。这...

qq_32587659
2018/05/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何开发一款以太坊(安卓)钱包系列2 - 导入账号及账号管理

这是如何开发一款以太坊(安卓)钱包系列第2篇,如何导入账号。有时用户可能已经有一个账号,这篇文章接来介绍下,如何实现导入用户已经存在的账号。 导入账号预备知识 从用户需求上来讲,导...

Tiny熊
今天
2
0
intellJ IDEA搭建java+selenium自动化环境(maven,selenium,testng)

1.安装jdk1.8; 2.安装intellJ; 3.安装maven; 3.1 如果是单前用户,配置用户环境变量即可,如果是多用户,则需配置系统环境变量,变量名为MAVEN_HOME,赋值D:\Application\maven,往path中...

不最醉不龟归
今天
4
0
聊聊ShenandoahGC的Brooks Pointers

序 本文主要研究一下ShenandoahGC的Brooks Pointers Shenandoah Shenandoah面向low-pause-time的垃圾收集器,它的GC cycle主要有 Snapshot-at-the-beginning concurrent mark包括Init Mark(P......

go4it
昨天
4
0
Makefile通用编写规则

#简单实用的Makefile模板: objs := a.o b.o test:$(objs) gcc -o test $^ # .a.o.d .b.o.d dep_files := $(foreach f,$(objs),.$(f).d) dep_files := $(wildcard $(dep_files)) ifneq ($(d......

shzwork
昨天
3
0
《万历十五年》的读后感作文4000字

《万历十五年》的读后感作文4000字: 万历十五年,即1587年,距今已过去432年。在明朝276的历史中,这一年很平淡,并没有什么特别之处。黄仁宇的《万历十五年》一书,有别于其他的历史叙述方...

原创小博客
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部