unity

Unity闪屏设计

喜你入骨 提交于 2019-11-27 06:40:25
项目需求,需要做一个闪屏,网上找了文章,大多数都是做个定时器(大概是这个意思),等两秒然后跳转主activity。 类似这些文章 https://blog.csdn.net/lindroid20/article/details/52557766 然后定时器这两秒游戏中是啥事都不做的,白等两秒。所以想换一种做法,显示闪屏时游戏也同时在加载。 Unity安卓之间的交互和安卓环境搭建就不多说了,资料很多 贴代码:java代码 private FrameLayout mLayoutContainer = null; private View mUnityView = null; private final Handler handler=new Handler(); private boolean mSDKisLoaded = false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mLayoutContainer = (FrameLayout) findViewById(R.id.main_layout_container); //onCreate显示闪屏

Unity 半屏输入

坚强是说给别人听的谎言 提交于 2019-11-27 06:39:44
Unity自带的InputField在Android手机上横屏显示时会出现输入法全屏,挡住了后面的游戏界面,导致体验不好。想实现半屏输入的效果,在输入法上面只显示一行的预览栏。 在网上找到了三种方法: 1、inputField组件上勾选Hide Mobile Input属性 2、inputField.shouldHideMobileInut = true; 3、TouchScreenKeyboard = true; 其中1和2的作用是一样的,但是查了一下API只能在IOS上起效;第三种方法在unity社区和stackoverflow上大家都说unity5之后好像都没用了,应该是个bug。 后来想通过监听输入法的返回按钮来实现关闭输入法也不能实现,在网上找到了Cocos2dxEditBoxDialog.java这个类来实现在安卓层手动打开输入法并在上方添加自定义dialog,这时发现inputField自带的默认输入法还是会打开并在安卓层的下方,所以在Unity层不再使用InputField而是用Button或者Image来代替触发事件,以此完成半屏输入的效果。 来源: CSDN 作者: 天爪 链接: https://blog.csdn.net/u011344518/article/details/53483877

unity 设置屏幕自适应并全屏显示

瘦欲@ 提交于 2019-11-27 06:39:29
屏幕自适应 为了程序能够在不同分辨率的显示器中正常显示我们的程序UI界面,我们需要对canvas进行设置: 1、将UI Scale Mode选项中Constant Pixel Size更改为Scale With Screen Size。 2、可以设置Reference Resolution (默认分辨率):可以根据需要是显示的分辨率进行设置,一般横屏设置为1920 1080;竖屏设置为:1080 1920。 3、 根据显示需要设置Math:横屏时可以根据确定的高度,适配不确定的显示宽度。可以设置width=0 竖屏时可以根据确定的宽度,适配不确定的显示高度。可以设置hight=1 程序运行时全屏显示 1、在Player Setting属性面板中,打开Resolution and Presentation设置选项,将Display Resolution Dialog设置为Disabled 2、新建C#脚本,命名为FullScreen,代码如下 using System.Collections; using System.Collections.Generic; using UnityEngine; public class FullScreen : MonoBehaviour { private void Awake() { //获取设置当前屏幕分辩率 Resolution[]

Unity3D之扩展屏功能

笑着哭i 提交于 2019-11-27 06:39:14
unity是由UnityTechnologies开发的一款游戏开发引擎,它的特点就是易用、跨平台、开发效率高,所以也成了目前为止手机游戏和虚拟现实领域中最受欢迎、市场占有率最多的开发工具。 unity在做一些windows的应用程序时 ,需要在主屏上显示程序1,在扩展屏上显示程序2,两个程序可以通过通信的方式来互动,也可以充当无互动的显示屏。本文主要介绍unity如何在一台机器上使程序自动运 行在扩展屏上。 首先介绍需要用到的函数原型 SetWindowPos(IntPtr hWnd,IntPtr hWndInsertAfter,int x,int y,int cx,intcy,uintuFlags) 函数功能:设置一个窗口显示的位置,大小,以及在空间中Z轴的位置情况。 hWnd 要设置的窗口,本文就是指要显示在扩展屏上的窗口 hWndInsetAfter 是窗口在空间Z周上的位置,显示在其他窗口的前或者后(当值为-1,窗口显示在所有窗口最前面) x 窗口在整个大屏上距离左边的X轴位置起始点 y 窗口在整个大屏上距离左边的Y轴位置起始点 cx 扩展屏宽度,也就是窗口的width cy 扩展屏高度,也就是窗口的height GetActiveWindow() 函数功能:得到当前程序的线程的活动窗口 具体操作过程: 1.启动unity,新建脚本Windowshow.cs,并挂在摄像机上

Unity半屏输入

China☆狼群 提交于 2019-11-27 06:38:43
本文源链接: http://blog.csdn.net/qq393830887/article/details/55669261 说明 很多人喜欢将Unity改成半屏输入,虽然我觉得并没什么卵用 见图 代码 // paramEditText .setImeOptions (EditorInfo .IME _ACTION_DONE) ; paramEditText .setImeOptions (EditorInfo .IME _ACTION_DONE | EditorInfo .IME _FLAG_NO_EXTRACT_UI) ; [笨木头Cocos2dx045]让输入框在Android上全屏显示 - Unity由于不是开源的,classes.jar又写死了我注释那句,导致没办法使用半屏输入 重点 代码替换法 自己封装一个输入法Dialog替代Unity的,具体就是替代TouchKeyBoard,NGUI就是将UIInput对TouchKeyBoard的调用改成自己的 这里最好反编译classes.jar,方便知道unity的调用原理,但是部分在libunity.so的代码我也没找到是如何实现的,就估摸着猜就好 魔改法 - 修改classes.jar,改成自己的 - 或者生成apk之后,反编译apk,再修改里面反编译出来的代码,再重新编译回去 来源: CSDN 作者: Oo幻想oO

Unity 多屏幕项目

可紊 提交于 2019-11-27 06:38:24
项目开发有多屏幕需求,按如下操作即可: 0.预先准备 在Unity中,Display1~9表示9个不同的屏幕,默认情况下设置为Display1,如有多屏需要,则需要设置相对应的屏幕 1.设置多个摄像头 在Inspector面板中将Camera中的Target Display设置为所需的Display 2~9 2.预览 新建一个Game面板,在Game标题下方的Display按钮中选择刚刚设置的Display选项 3.UI设置 找到Canvas,在Inspector面板中的Canvas选项,设置不同的Target Display,对应的设置的不同Display 1~9 最后在构建项目后即可查看不同屏幕的UI 如果有兴趣可以做一个屏幕选择的扩展,在软件启动后可以随时调整不同屏幕以及所显示的相机,api在camera中也可以找到, 相关的api文档: https://docs.unity3d.com/ScriptReference/Display.html 来源: CSDN 作者: Deveuper 链接: https://blog.csdn.net/qq_21153225/article/details/90449807

Unity控制窗口全屏显示

心不动则不痛 提交于 2019-11-27 06:38:15
using UnityEngine; using System.Collections; using System; using System.Runtime.InteropServices; using System.Diagnostics; using Debug = UnityEngine.Debug; public class MainScriptfull : MonoBehaviour { public Rect screenPosition; [DllImport(“user32.dll”)] static extern IntPtr SetWindowLong(IntPtr hwnd, int _nIndex, int dwNewLong); [DllImport(“user32.dll”)] static extern bool SetWindowPos(IntPtr hWnd, int hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags); [DllImport(“kernel32”, CharSet = CharSet.Auto)] public static extern int GetPrivateProfileInt(string section, string key, int def,

Unity多屏,自定义屏幕大小

我与影子孤独终老i 提交于 2019-11-27 06:37:46
@ https://blog.csdn.net/m0_37381690/article/details/90047390 Unity 分屏,多屏,自定义屏幕大小 先看效果吧 新的改变 分屏,在Unity中摄像机分为main和一般的,在Camera里面有一个viewport变量。 viewport就是窗口(视图)大小。 第一步在Hierarchy面板新建3个摄像机,如图所示: 第二部设置第一个的ViewportRect的设置: 第二个相机设置 第三个相机设置: 第四个相机设置: 总体的效果就是这样 来源: CSDN 作者: 鹏雨2017 链接: https://blog.csdn.net/m0_37381690/article/details/90047390

unity3D跨屏显示

北城以北 提交于 2019-11-27 06:37:23
1.需求:一台电脑上链接着两个显示设备A,B,unity程序运行时,自动在第二块屏上B显示(unity3D默认是在主屏上显示的) 2.情况一:两块屏的分辨率相同,如A:1920x1080 B:1920x1080,可在主相机中挂如下脚本: using System.Collections; using System.Collections.Generic; using UnityEngine; using System; using System.Runtime.InteropServices; public class WindowsShow : MonoBehaviour { [HideInInspector] //导入设置窗口函数 [DllImport("user32.dll")] static extern bool SetWindowPos(IntPtr hWnd, int hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags); //导入当前活动窗口 [DllImport("user32.dll")] static extern IntPtr GetActiveWindow(); const uint SWP_SHOWWINDOW = 0x0040;//显示窗口 void Start() {

unity发布webgl 部署IIS

落爺英雄遲暮 提交于 2019-11-27 06:25:02
阿里云的ecs 默认在后台 封了80端口 以至于IIS部署好之后localhost查看的到网页,公网ip却无法登陆,解决办法是: 添加80端口到安全组 IIS8.0 放入unity打包好的三个文件直接到: 依然会报错 解决办法是 添加MIME类型 腾讯云 可以直接添加.config 文件 阿里云添加config文件会报错 为什么会报错,不是web开发 待以后研究 阿里云通过添加MIME类型可以解决 来源: https://www.cnblogs.com/pz904/p/11936932.html