如何使用Unity实现“饥荒矿工灯无限使用”游戏中的效果

UNITY3D(4)
我们知道unity里面有第一人称控制器,直接用这个就能实现走路,四周看。但是,这个第一人称控制器的鼠标总是显示在屏幕中,而且它的位置不受控制,在屏幕全部范围都能移动,这不是我们想要的效果。那如何实现像CS一样,有个瞄准的准心在屏幕中央,然后也可以四周转动,当需要选择物品,点击东西的时候鼠标再出现呢?
1、首先要添加一个GUITexture 的图片,就是一个瞄准准心的图片,或者是任意一个你想要的游戏中显示在中心位置的图标。
2、将游戏设置成全屏模式
3、在UpDate()函数中添加一个检测是否要隐藏鼠标的bool变量,当该值为真时,添加Screen.showCursor=false。并且要将鼠标的位置SetCursorPos(Screen.currentResolution.width/2,Screen.currentResolution.height/2)。当该值为假时,Screen.showCursor=true。
4、改变该值,就要通过程序中对对话框的控制,当需要显示对话框时,在那部分的代码中将3中设置的布尔变量改为false,当关闭对话框时,改为true。
需要注意的是,对鼠标的控制SetCursorPos()这个函数一般是有C#脚本写的,如果你其他的代码用的是js写的的话,需要通过js脚本调用C#脚本中的代码。这时候可以参考另一个博客:http://blog.csdn.net/blues1021/article/details/
这个方法可以用。
中一些脚本的方法只能用在中,在C#中是无效的,而C#可以与服务器端通讯,JS本身却不行。而且,如果需要用到js调用c#的问题,js会比c#先编译,所以在mac里编译的时候会出错,提示为无法找到那个C#类。所以势必会遇到这两种语言脚本中方法的互相调用。
解决方法:
1.首先在你的程序里建一个Plugins的文件夹,注意必须是这个名字!
2.将要调用的C#类里的系统命名空间去掉,只保留必须要用的命名空间,类名后面的父类也去掉,将里面的方法设为静态的方法。
3.将这个C#类方法Plugins文件夹下。
4.在js里就可以直接引用了,如:test.test();
实例:两个文件 test1.js 和 test2.cs。
function OnGUI()
if(GUI.Button(Rect(25,25,100,30),&JS Call CS& ))
var c = gameObject.GetComponent(&test2&);
c.PrintTest();
function testPrint()
print(&CS Call JS&);
using UnityE
using System.C
public class test2: MonoBehaviour {
void OnGUI()
if(GUI.Button(new Rect(25,70,100,30), &CS Call JS&))
test1 c = (test1)gameObject.GetComponent(&test1&);
c.testPrint();
void PrintTest()
print(&JS Call CS&);
这里必须要注意的是JS文件必须是在 &Standard Assets&、 &Pro Standard Assets& 和 &Plugins& 这三个目录中的任何一个里,而CS文件不能与JS文件在一个目录中。原因是,这三个目录里的脚本被最先编译,&Editor&目录里的稍后编译,其他的脚本最后编译。目前的2.5的版本似乎不支持C#
3.0,所以无法用var的关键字,这样就只支持强类型,所以如果在一个目录下则CS文件无法读取JS里的方法,也就无法编译通过了。而JS调用CS方法则无此限制。
这里我写了大概的步骤,如果有需要的人我可以把我的代码给你参考。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:358次
排名:千里之外
(1)(4)(1)(1)Unity中spotlight是如何实现的 - 游戏开发,移动开发技术干货分享 - 泰课在线 - 国内专业的Unity在线学习平台|Unity3d培训|Unity教程|Unity教程 Unreal 虚幻 AR|移动开发|美术CG|UI平面设计|前端开发 - Powered By EduSoho问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
小白,想用unity开发一个2d小游戏,可能只需要一个基本的原型展示所有功能,查了一些资料,还是非常疑惑以下几点:1.一般游戏开发怎么分工?2.如何生成处理地图?3.游戏开发如何测试,应当达到什么标准?4.unity如何开发网络游戏......比如hosta做了动作,hostb怎么在这边同步更新,update的时候向那边查询么..(⊙﹏⊙)b感觉虽然看了外国网站的教程,但是还是很缺乏开发一个完整的游戏究竟该干什么的大局观感.....请问有什么相关的书籍和教程推荐么?
同步到新浪微博
分享到微博?
你好!看起来你挺喜欢这个内容,但是你还没有注册帐号。 当你创建了帐号,我们能准确地追踪你关注的问题,在有新答案或内容的时候收到网页和邮件通知。还能直接向作者咨询更多细节。如果上面的内容有帮助,记得点赞 (????)? 表示感谢。
明天提醒我
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:如何使用Unity实现“饥荒”游戏中的效果? - 知乎322被浏览11951分享邀请回答18127 条评论分享收藏感谢收起}

我要回帖

更多关于 饥荒怎么使用指示牌 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信