精华内容
下载资源
问答
  • 先讲个大概思路 1.退出应用后,本地保存上次退出时间(安卓读取数据) 2.进入应用时,用现在的时间减去上次退出的时间,获得离线时间 本地数据 using System;...using System.Collections.Generic;...

    先讲个大概思路

    1.退出应用后,本地保存上次退出时间(安卓读取数据)

    2.进入应用时,用现在的时间减去上次退出的时间,获得离线时间

    本地数据

    using System;
    using System.Collections.Generic;
    
    [Serializable]
    public class GameDate
    {
        //这个类是获取数据和传递数据的
     
        private DateTime time;
    
        /// <summary>
        /// 记录离线的时间
        /// </summary>
        public void SetOutLineTime(DateTime dateTime)
        {
            time = dateTime;
        }
     
    
     
        public DateTime GetOutLineTime()
        {
            return time;
        }
    
    
    
    }
    

    记录离线时间 

    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.IO;
    using System.Runtime.Serialization.Formatters.Binary;
    using UnityEngine;
    using UnityEngine.UI;
    
    public class GameInfomation : MonoBehaviour
    {
    
        //时间
        private DateTime OutLineTime;
    
        public void Save()
        {
            try
            {
                BinaryFormatter bf = new BinaryFormatter();
                using (FileStream fs = File.Create(Application.persistentDataPath + "/GameData.data"))
                {
                    //保存数据
                    date.SetOutLineTime(OutLineTime);
                    bf.Serialize(fs, date);
                }
            }
            catch (System.Exception e)
            {
    
                Debug.Log("失败创建" + e.Message);
            }
        }
    
        private void Read()
        {
            try
            {
                BinaryFormatter bf = new BinaryFormatter();
                using (FileStream fs = File.Open(Application.persistentDataPath + "/GameData.data", FileMode.Open))
                {
                    date = (GameDate)bf.Deserialize(fs);
    
                }
            }
            catch (Exception e)
            {
                Debug.Log(e.Message);
            }
        }
     private void OnApplicationPause(bool isFocs)
        {
           if(isFocs)
           {
             OutLineTime = DateTime.Now;
             Debug.Log("退出时间=" + OutLineTime);
             Save();
           }
        }
    }

    获取当前时间减去离线时间

    public class OutLineSync : MonoBehaviour
    {
        private float AllOutTime;
        private float OutLineTotal
        // Start is called before the first frame update
        void Start()
        {
            OutLineTotal = DateTime.Now - GameInfomation._Instance.GetOutTime();
            AllOutTime = GetFloatOuttime(OutLineTotal);
            Debug.Log("上次离线时间=" + GameInfomation._Instance.GetOutTime());  
            Debug.Log("现在时间=" + DateTime.Now);
        }
    
      public  float GetFloatOuttime(TimeSpan Ts)
        {
            if (Ts.Days >= 1)
            {
                FloatOutTime = 24 * 3600;
            }
            else if (Ts.Days < 1)
            {
                Debug.Log("时间差值=" + Ts);
                FloatOutTime = Ts.Hours *3600 + Ts.Minutes * 60 + Ts.Seconds;
            }
            return FloatOutTime;
        }
    }

     输出如下

    展开全文
  • unity 制作app发布到andriod手机

    千次阅读 2018-11-05 07:54:04
    一,unity 制作一个简单的动画。 1.场景中添加一个立方体。 2.立方体上面添加一个胶囊形状,胶囊形状添加重力属性,运行的时候往下落。 3.制作完成,保存工程,名字为“t1”. 二,将“t1”发布为手机app,即“t1....

    一,unity 制作一个简单的动画。

    1.场景中添加一个立方体。

    2.立方体上面添加一个胶囊形状,胶囊形状添加重力属性,运行的时候往下落。

    3.制作完成,保存工程,名字为“t1”.

    二,将“t1”发布为手机app,即“t1.apk”.

    1.点击"file>>Build Settings…“,添加“t1”,选择android发布,点击“build”。系统提示设置bundle identifier。

    三、设置bundle identifier

    在其它设置中找到bundle identifier设置,按照提示格式设置。再次点击“build”。系统提示要android-sdk和java-sdk文件。

    四、android-sdk和java-sdk文件

    1.网上查找并下载,然后安装。回到unity,点击edit>>preference…>>external tools设置android-sdk和java-sdk的路径(如果有了就不设置了,如果没有这两个文件,点击旁边的下载按钮,可以下载它们),形式如……/android-sdk和……/jdk.x.x.x.x(x.x.x.x代表版本号,x是阿拉伯数字)。退出设置。

    2.点击"file>>Build Settings…“,添加“t1”,选择android发布,点击“build”再次发布,系统提示……level 26……。

    五、打开android-sdk文件,运行管理器,点击右下角的安装以安装更多的android文件,(可能是android-sdk文件安装不全导致提示“……level 26……”)。几分钟后安装完成,点击“build”再次发布。系统提示……unASIC……。

    六、路径中有非ASIC字符

    1.关闭unity软件。

    2.将“t1”所在路径中的汉字都改成英语。

    3.重启unity,点击“build”再次发布。很快左下角提示发布成功,生成了t1.apk文件。

    七、手机上运行unity制作的app.

    1.用数据线将t1.apk文件拷贝到手机sd卡的一个文件夹中。手机断开数据线,找到t1.apk,点击运行。

    到此成功,作为新手,内心十分激动!!!!!

    我的手机上装了自己制作的app!!!!!

     

    本文原创,抛砖引玉,欢迎大家指点!!!

     

     

    展开全文
  • 比如制作一个应用程序需要通过Unity来演示三维画面,再或者是制作混合型的游戏的时候(内嵌UIWebView)。这个时候相信对于一直从事iOS开发的朋友一定非常想直接在iOS Native App里启动Unity。 如果是在Unity3.x的...

    相信很多朋友会遇到同样的问题,如何才能在iOS Native App里启动一个Unity App。
    比如制作一个应用程序需要通过Unity来演示三维画面,再或者是制作混合型的游戏的时候(内嵌UIWebView)。这个时候相信对于一直从事iOS开发的朋友一定非常想直接在iOS Native App里启动Unity。

    如果是在Unity3.x的时候可以完全自由的通过自定义AppDelegate来实现自己需要的需求。然而从4.x之后Unity必须得让Unity首先被初始化。你可以让Unity进入暂停的状态。之后在需要的时候将Unity的View显示出来并且运行。

    下面简单说明一下我的实现逻辑:

    首先观察一下UnityAppController.mm文件

    //当应用程序进入后台的时候,主要通过一下代码暂停Unity
    - (void)applicationDidBecomeActive:(UIApplication*)application
    {
    	printf_console("-> applicationDidBecomeActive()\n");
    	if (_didResignActive)
    		UnityPause(false);
    
    	_didResignActive = NO;
    }
    //当恢复的时候通过一下代码
    - (void)applicationWillResignActive:(UIApplication*)application
    {
    	printf_console("-> applicationWillResignActive()\n");
    	UnityPause(true);
    
    	extern void UnityStopVideoIfPlaying();
    	UnityStopVideoIfPlaying();
    
    	_didResignActive = YES;
    }

    看到如上的代码相信你也就知道大概怎么实现了,下面来具体介绍一下我的实现方法:

    • 首先,创建一个AppDelegate的类并且继承与UnityAppController
    #import "UnityAppController.h"
    #import "MyViewController.h"
    
    @interface AppDelegate : UnityAppController
    
    @property (nonatomic, strong) UIWindow *window;
    @property (nonatomic, strong) UnityAppController *unityVC;
    @property (nonatomic, strong) MyViewController *myVC;
    
    @end

     

    #import "AppDelegate.h"
    
    @implementation AppDelegate
    
    @synthesize unityVC = _unityVC;
    @synthesize window = _window;
    
    - (UnityView*)initUnityViewImpl
    {
        UIScreen *screen = [UIScreen mainScreen];
        CGRect screenRect = screen.bounds; 
    
        if (screenRect.size.width < screenRect.size.height) {
    
            CGRect temp;
            temp.size.width = screenRect.size.height;
            temp.size.height = screenRect.size.width;
            screenRect = temp;
        }
        return [[UnityView alloc] initWithFrame:screenRect];
    }
    
    - (void)createViewHierarchyImpl{
    
        if (_unityVC == nil) { 
            _unityVC = [[UnityAppController alloc] init];
        }
    
        MyViewController *myVC = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:[NSBundle mainBundle]];
    
        self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
        self.window.rootViewController = myVC;
        self.window.clipsToBounds = NO;
    
        _rootController = self.window.rootViewController;
        _rootView = _rootController.view;
    
        [self.window makeKeyAndVisible];
        [self pauseUnity];
    }
    
    - (void)playUnity{
        [_unityVC unityPause:NO];
    }
    
    - (void)pauseUnity{
        [_unityVC unityPause:YES];
    }
    
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
    
        [super application:application didFinishLaunchingWithOptions:launchOptions];
    
        return YES;
    }
    
    @end
    
    IMPL_APP_CONTROLLER_SUBCLASS(AppDelegate);
    • 接下来就该Main.mm文件
    const char* AppControllerClassName = "AppDelegate";//修改为自己的实现的AppDelegate类
    •  UnityViewController里添加一个unityPause方法,主要是控制Unity的暂停
    - (void)unityPause:(BOOL)pause{
        UnityPause(pause);
    }

    参考:

    http://forum.unity3d.com/threads/191971-Unity-AppController-subclassing

    http://answers.unity3d.com/questions/534197/unity-ios-launch-native-window-instead-of-unity.html

    展开全文
  • Unity设置AppIcon方法

    2018-06-21 11:56:00
    制作unity自动打包工具时,不同的渠道需要不同的AppIcon,在网上找了方法,记录下 Unity4.6测试可用,Unity2017.2.0测试不可用 代码: public void SetDefaultIcon() { Texture2D texture = AssetDatabase....

    制作unity自动打包工具时,不同的渠道需要不同的AppIcon,在网上找了方法,记录下

    Unity4.6测试可用,Unity2017.2.0测试不可用

    代码:

        public  void SetDefaultIcon()
        {
         Texture2D texture = AssetDatabase.LoadAssetAtPath(string.Format("Assets/AppIcon/{0}.png", "appicon"), typeof(Texture2D)) as Texture2D; MethodInfo getIconFormPlatform
    = typeof(PlayerSettings).GetMethod("GetIconsForPlatform", BindingFlags.NonPublic | BindingFlags.Static); MethodInfo getIconSizesForPlatform = typeof(PlayerSettings).GetMethod("GetIconSizesForPlatform", BindingFlags.NonPublic | BindingFlags.Static); MethodInfo setIconsForPlatform = typeof(PlayerSettings).GetMethod("SetIconsForPlatform", BindingFlags.NonPublic | BindingFlags.Static); Texture2D[] textureArray = (Texture2D[])getIconFormPlatform.Invoke(null, new object[] { string.Empty }); var iconSizesForPlatform = (int[])getIconSizesForPlatform.Invoke(null, new object[] { string.Empty }); if (textureArray.Length != iconSizesForPlatform.Length) { textureArray = new Texture2D[iconSizesForPlatform.Length]; setIconsForPlatform.Invoke(null, new object[] { string.Empty, textureArray }); }
         textureArray[0] = texture; setIconsForPlatform.Invoke(
    null, new object[] { string.Empty, textureArray }); AssetDatabase.SaveAssets(); }

     自己摸索了下,折腾出2017下修改APPIcon方法

        private void _setDefaultIcon(string iconName)
        {
            Texture2D texture = AssetDatabase.LoadAssetAtPath(string.Format("Assets/Images/Icon/{0}.png", iconName),
                typeof(Texture2D)) as Texture2D;
    
            int[] iconSize = PlayerSettings.GetIconSizesForTargetGroup(BuildTargetGroup.Android);
            Texture2D[] textureArray = new Texture2D[iconSize.Length];
            for (int i = 0; i < textureArray.Length; i++)
            {
                textureArray[i] = texture;
            }
            textureArray[0] = texture;
            PlayerSettings.SetIconsForTargetGroup(BuildTargetGroup.Android, textureArray);
            AssetDatabase.SaveAssets();
        }

     

    转载于:https://www.cnblogs.com/Yellow0-0River/p/9208278.html

    展开全文
  • 本文转自Unity Connect博主 dreamfairy效果图https://www.zhihu.com/video/1213046722668220416制作可交互的水体,大致分为三步1.标记水体碰撞的位置2.计算水波的传递 通过波动公式,3D或者2D 波动公式都行3.水面...
  • 第一步 收集整理关于天气预报的api资料 ——————————————————————————————————————— ... ... ...可以访问的数据有以下这些,整合版是收费的,其他的没试过还不确...
  • Unity和Easy AR制作一个AR的APP

    千次阅读 2019-09-27 15:45:47
    这个不是什么正规的项目。。。就是觉得AR好玩,研究了一下,很早之前就...首先说如何制作一个AR的APP需要准备什么,easy ar这个插件,我用的版本是2.2.0的;unity我用的是unity2018.2.3的; 在做项目之前,要去ea...
  • 使用unity制作vrby Adriana Vecchioli 由Adriana Vecchioli 这是使用Unity在10分钟内制作360 VR应用程序的方法 (Here’s how you can make a 360 VR app in 10 minutes with Unity) Virtual Reality (VR) is ...
  • unity 制作.dmg文件

    2018-04-10 16:04:29
    1. 在unity中打包出一个.app的文件2. 在Mac桌面或者其他位置新建一个文件夹,先将打包出来的.app文件放入该文件夹3. 前往电脑,依照下图进行制作替身4. 将制作好的替身拖入刚刚新建的文件夹,与.app文件一起,就像...
  • 这是Unity Android APP il2cpp热更完美解决方案的Demo( )的说明。 和现有的热更解决方案不同的是,他不会约会多余的语言(只是UnityyScript,c#...),对Unityy程序设计和编码没有任何限制。你可以在预先和场景里...
  • arkit unityby Francesco Pallotta 由... 如何使用ARKit和Unity制作增强现实应用程序。 (Hello, Kitty! How to make an augmented reality app using ARKit and Unity.) We’ve all heard of Augmented Reality ...
  • 上一篇现在的压缩包和图片文件包导入到unity中 如果导入压缩包有错误 点击错误提示  把图片上的这句话注释掉就没有问题了 把图片中的ARCamera和imageTarget添加进去 然后添加了一个Cude 和light 需要把数字和...
  • 至今未命名的UnityMMO 建立 创建一个mySQL数据库,并使用DBschema目录中提供的sql文件来设置数据库。 创建一个App.config文件(使用MMOServer目录中的App.config.template作为指南)。 用您自己的本地dev DB连接...
  • 一步一步教你使用unity制作ios推送

    千次阅读 2014-06-16 13:27:44
    Implementing Push Notifications in Unity Apps/games for iOS is an easy task and will explain the process of doing this through a sample unity demo App. The source code can be downloaded or viewed from
  • Unity使用多态制作计算器 Unity中需要的组件 在Unity中创建两个InputField,一个Dropdown,一个Button和一个Text [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YIfVUu9j-1585389254491)...
  • 本案例使用的AndroidStudio版本为 171.4408382 Unity版本为 5.2.4f1 如果跟我一样是新手,就请先...本案例可以达到的效果为,Unity和安卓交互,互传消息,并且适合Unity项目中有多种第三方sdk的情况下使用,当...
  • Android制作Unity插件

    2018-05-05 12:11:53
    本文档为了整理安卓包中 Unity调用安卓中的功能 包括:接入别的App 安卓SDK 安卓本身的一些功能 1. Unity 必须要设置好安卓环境 百度一下 自己配置2. 值得注意的是 我们的安卓sdk最高是26 所以要注意3. Jdk建议...
  • 我想把Unity Vuforia 制作好的 AR 程序,放在自己的Android APP 里面, 试了好多的教程 都不好使,兼职崩溃。希望有大神帮我指点一二。 倒入eclipse我还需要进行二次开发,最好可以像其他教程里说过的,把...
  • 《MR App开发:Windows MR混合现实:HoloLens+Unity实战Holo APP》3章7节2.5小时:背景综述1、硬件介绍2、App开发4MR混合现实的代表“HoloLens”开启新时代:人机交互从键盘(交互1.0)苹果触摸屏(交互1.5)过渡到...
  • SubstanceDesigner制作PBR材质制作并且同步到Unity小尝试 1.下载安装SubstanceDesigner,网址:https://zixue.3d66.com/softhtml/downsoft_1242.html 2.unityunity018及以上版本需要Appstore中下载安装插件:...
  • Each year, the most beautiful and innovative apps from the App Store are considered for Apple’s prestigious Design Awards. Many amazing projects created with Unity have been selected in previous ...
  • 前言 为什么要学习小游戏? 5G来了,网速很快,这样我们就不需要传统的将游戏安装包下载到手机上,而是凭借高网速直接点击就可以玩,现在推出了...我们作为Unity使用者,要利用Unity的优势,就是3D模块,来制作微...
  • unity开发工具制作app 安装到平板上加入授权 一个apk只能安装一次 放入其他平板安装使用不了 需要授权
  • Unity 3D + Vuforia制作AR人物互动

    千次阅读 2016-08-03 15:40:47
    话说之前说过了咱与本地漫展商合作推出AR app,虽然他们之前也已经做过了但是只有Android版,后来因为某些问题于是准备是让咱来接手后续的开发。(其实本来只是打算说iOS可以咱来做…而已… 不过在还没开始谈的时候...

空空如也

空空如也

1 2 3 4 5
收藏数 96
精华内容 38
关键字:

unity制作app