当前位置: 首页 > news >正文

网站建设属于什么经济科目wordpress搬家后图片无法显示

网站建设属于什么经济科目,wordpress搬家后图片无法显示,山东平台网站建设制作,网站建设运营策划书Unity3D可以C#脚本进行开#xff0c;使用vstu2013.msi插件#xff0c;可以实现在VS2013中的调试。在开发完成后#xff0c;由于项目需要#xff0c;需要将Unity3D嵌入到WinForm中。WinForm中的UnityWebPlayer Control可以载入Unity3D。先看效果图。 一、为了能够动态设置ax…Unity3D可以C#脚本进行开使用vstu2013.msi插件可以实现在VS2013中的调试。在开发完成后由于项目需要需要将Unity3D嵌入到WinForm中。WinForm中的UnityWebPlayer Control可以载入Unity3D。先看效果图。 一、为了能够动态设置axUnityWebPlayer的Src我使用用户控件来封装。看下面的代码。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; using System.Runtime.InteropServices; using System.Threading;namespace UnityHost {public partial class U3DPlayer : UserControl, IMessageFilter{#region 属性private String _src;/// summary/// Unity3D文件的路径/// /summarypublic String Src{get { return _src; }private set { _src value; }}private bool _disableMouseRight true;/// summary/// 禁用鼠标右键/// /summarypublic bool DisableMouseRight{get { return _disableMouseRight; }set { _disableMouseRight value; }}#endregion#region 自定义事件//委托public delegate void ExternalCallHandler(object sender, AxUnityWebPlayerAXLib._DUnityWebPlayerAXEvents_OnExternalCallEvent e);/// summary/// 接收Unity调用宿主函数的消息/// /summary[Browsable(true), Description(接收Unity调用宿主(如WinForm)函数的消息)]public event ExternalCallHandler UnityCall;//方法public void OnUnityCall(object sender, AxUnityWebPlayerAXLib._DUnityWebPlayerAXEvents_OnExternalCallEvent e){if (UnityCall ! null){UnityCall(sender, e);}}#endregion#region 内部变量private AxUnityWebPlayerAXLib.AxUnityWebPlayer _axUnityWebPlayernull;private ProgressBar _progressBarLoadnull;#endregionpublic U3DPlayer(){InitializeComponent();InitProgressBar();}private void InitProgressBar(){if (_progressBarLoad null){_progressBarLoad new ProgressBar();_progressBarLoad.Height 100;_progressBarLoad.Style ProgressBarStyle.Marquee;_progressBarLoad.Top (this.Height - _progressBarLoad.Height) / 2;Controls.Add(_progressBarLoad);}}#region InitUnity/// summary/// 初始化UnityWebPlayer/// /summary/// param namesrcUnity3D文件的路径/parampublic void InitUnity(String src){Src src;if (!File.Exists(Src)){return;}var unity new AxUnityWebPlayerAXLib.AxUnityWebPlayer();((System.ComponentModel.ISupportInitialize)(unity)).BeginInit();Controls.Add(unity);((System.ComponentModel.ISupportInitialize)(unity)).EndInit();unity.src Src;//Application.StartupPath \\u.unity3d; //改成自己想要的路径AxHost.State state unity.OcxState;Controls.Remove(unity);unity.Dispose();unity new AxUnityWebPlayerAXLib.AxUnityWebPlayer();((System.ComponentModel.ISupportInitialize)(unity)).BeginInit();this.SuspendLayout();unity.Dock DockStyle.Fill;//unity.Name Unity;unity.OcxState state;unity.TabIndex 0;this.Controls.Add(unity); //panel1是我用的一个容器改成this.Controls也可以((System.ComponentModel.ISupportInitialize)(unity)).EndInit();this.ResumeLayout(false);_axUnityWebPlayer unity;if (_axUnityWebPlayer null){throw new Exception(_axUnityWebPlayer init fail);}else{_axUnityWebPlayer.OnExternalCall _axUnityWebPlayer_OnExternalCall;_axUnityWebPlayer.Hide();ShowProgressBar();}}#endregion#region 进度条private void ShowProgressBar(){ _progressBarLoad.Visible true;_progressBarLoad.Left 0;_progressBarLoad.Width this.Width;}private void HideProgressBar(){if (_progressBarLoad!null){_progressBarLoad.Visible false; } }#endregionvoid _axUnityWebPlayer_OnExternalCall(object sender, AxUnityWebPlayerAXLib._DUnityWebPlayerAXEvents_OnExternalCallEvent e){if (e.value.StartsWith(LOAD_COMPLETE)){if (!_axUnityWebPlayer.Visible){_axUnityWebPlayer.Width this.Width;_axUnityWebPlayer.Height this.Height;_axUnityWebPlayer.Show();HideProgressBar();}}OnUnityCall(sender, e);}private void U3DPlayer_Load(object sender, EventArgs e){Graphics g this.CreateGraphics();g.Clear(this.BackColor);if (DisableMouseRight){Application.AddMessageFilter(this);this.Disposed U3DPlayer_Disposed;}}void U3DPlayer_Disposed(object sender, EventArgs e){if (DisableMouseRight){Application.RemoveMessageFilter(this);}}#region SendMessage/// summary/// 发送消息给Unity/// /summary/// param nameunityObjNameUnity中的对象名称/param/// param nameunityScriptyMethodUnity脚本中的方法/param/// param nameval传送的值.仅限于int、float、string/parampublic void SendMessage(string unityObjName, string unityScriptyMethod, object val){if (_axUnityWebPlayer null){return;}_axUnityWebPlayer.SendMessage(unityObjName, unityScriptyMethod, val);}#endregionprivate void U3DPlayer_MouseDown(object sender, MouseEventArgs e){}/// summary/// 过滤鼠标右键/// /summary/// param namem/param/// returns/returnspublic bool PreFilterMessage(ref System.Windows.Forms.Message m){if (_axUnityWebPlayer null){return false;}const int WM_RBUTTONDOWN 0x204;const int WM_RBUTTONUP 0x205;const int WM_RBUTTONDBLCLK 0x206;// 屏蔽右键消息区域。System.Drawing.Rectangle my_Area new System.Drawing.Rectangle(_axUnityWebPlayer.Location, _axUnityWebPlayer.Size);if (my_Area.Contains(this.PointToClient(Control.MousePosition))){switch (m.Msg){case WM_RBUTTONDOWN:return true;case WM_RBUTTONUP:return true;case WM_RBUTTONDBLCLK:return true;default:return false;}}return false;}} } 注代码中还实现了其他的功能如下 1.增加InitUnity方法方便外层控件调用。这里最关键的是OcxState必须使用AxUnityWebPlayer才能依据Src动态产生。 2.动态增加进度条。 3.在实始化后对_axUnityWebPlayer进行隐藏同时启动进度条并绑定Unity的回调事件OnExternalCall。在OnExternalCall事件中监听Unity发来的LOAD_COMPLETE值然后判断是否显示_axUnityWebPlayer. 4.为了能让外层也收到Unity发来的消息使用委托二次实现了OnExternalCall也就是OnUnityCall方法。 5.SendMessage的实现第一个参数为Unity中的对象名称第二个参数为Unity脚本中的方法第三个参数是传送的值(仅限于int、string,其他的会失败或者异常)。 6.继承IMessageFilter接口捕获消息然后过滤_axUnityWebPlayer区域内产生的鼠标右键消息同时增加DisableMouseRight属性来控制。 7.一定要将项目调成x86的模式否则会报“没有注册类XXX”的信息。 8.axUnityWebPlayer控件需要在工具箱中添加如下图。 二、窗体界面的代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;namespace UnityHost {public partial class FormHost : Form{public FormHost(){InitializeComponent();}private void buttonSendToUnity_Click(object sender, EventArgs e){String info textBoxSendMessage.Text;if (String.IsNullOrWhiteSpace(info)){MessageBox.Show(请输入内容);return;}u3DPlayer1.SendMessage(Main Camera, CallUnity, info);}private void FormHost_Load(object sender, EventArgs e){String src Application.StartupPath \\UnityWeb\\UnityWeb.unity3d;u3DPlayer1.InitUnity(src);}private void u3DPlayer1_UnityCall(object sender, AxUnityWebPlayerAXLib._DUnityWebPlayerAXEvents_OnExternalCallEvent e){this.Text 收到Unity的消息: e.value;}} } 三、Unity3D的C#脚本 using UnityEngine; using System.Collections; using System;public class Main : MonoBehaviour {private string _messageReceive string.Empty;private bool _isButtonClick false;private int _notifyTimeAfterLoadComplete 3;// Use this for initializationvoid Start(){}// Update is called once per framevoid Update(){}void OnGUI(){if (GUI.Button(new Rect(100, 10, 80, 20), 测试)){_isButtonClick !_isButtonClick;}GUI.Label(new Rect(50, 30, 150, 30), _messageReceive);if (_isButtonClick){Application.ExternalCall(ToWinform, Guid.NewGuid().ToString());_isButtonClick false;}if (_notifyTimeAfterLoadComplete0){Application.ExternalCall(LOAD_COMPLETE, );_notifyTimeAfterLoadComplete--;}}void CallUnity(object val){_messageReceive string.Format({0}, val);} } 注: 1.CallUnity是响应WinForm发来消息的函数。 2.Application.ExternalCall是向WinForm发出消息第一参数是函数的名称第二个之后的参数是函数的参数。 四、Unity3D要在WebPlayer模式下编译 转载请注明出处 代码下载http://download.csdn.net/detail/xxdddail/9277447
http://wiki.neutronadmin.com/news/277359/

相关文章:

  • 河北建设网站公司软件开发都有哪些项目
  • 信邦建设工程有限公司网站专业零基础网站建设教学
  • 上海网站制作顾wordpress导航文件夹
  • 地方文明网站建设网站上传文件夹
  • 保护环境做网站素材那些网站可以做0首付分期手机
  • 做it的兼职网站有哪些权重2的网站
  • 无锡制作网站公司小程序源码分享
  • 没有网站可以做哪些互联网广告推广校园网页设计模板简单
  • 写着网站建设图片微信小程序短链接生成
  • 成都科技网站建设费用建立视觉健康档案的主要意义在于
  • 手表大全网站网站开发所需开发环境
  • 中山 家居 骏域网站建设专家中山网页设计
  • 哪个网站可以做行程攻略电子商务网站建设的体会
  • 广州一流高校建设网站建筑公司发展愿景
  • 互联网seo是什么意思镇江网站关键字优化如何
  • 手机网站触摸版app网站怎么制作
  • 免费的建设网站软件望野杜甫
  • 黄石做网站联系美食网页模板
  • 做展板好的网站山东外贸建站
  • wordpress视频教程 电驴佛山市seo网站设计工具
  • 切实加强网站建设携程旅游网站建设的定位
  • 用python做 网站论坛公司网站作用
  • 网站建设与管理课程总结中石化第四建设有限公司网站
  • 制作网站教程视频中国印花图案设计网站
  • 沈阳网站搜索排名申请注册一个商标多少钱
  • 邳州做网站的公司百度店面定位怎么申请
  • 请人做网站谁来维护wordpress 文章空白
  • 基础精品课程网站网络营销有哪些特点及功能
  • 网站运营者网址怎样购买网站
  • 建设网站公司专业合肥公司注册平台