silverlight游戏在坑内发展
最初做《金X》使用silverlight它是由于右手锯的深蓝色silverlight游戏开发教程,在这里,好评,写得很好的教程!基于这样的思想游戏覆盖。你可以给游戏开发商新提供的非常多的思维方式指导。
但在我个人发展、金宣布X在过程中。陆续发现有一些silverlight的大坑。这里给大家分享一下,防止大家犯反复错误。
1、DateTime数据结构的处理
在游戏中,假设想使用DateTime数据结果来存时间的话。一定要慎用DateTime.ToString和DateTime.Parse方法。在不同的windows机器下,非常可能出来的结果不是预想的那样。原因是每台windows的机器的时间格式是能够配置的。那么ToString和Parse方法默认使用的时间格式是与操作系统设置相关的。而有一些恶心的所谓操作系统优化程序,把操作系统时间格式从标准的yyyy-mm-dd hh:MM:ss改为了如“星期X”这样。
导致的问题就是,调用DateTime.ToString()后,转出来会把年月日时分秒信息所有丢掉。而仅仅剩下“星期X”的数据,之后再调用Parse这个字符串的时候就完蛋了。导致的client现象就是直接白屏,整个silverlight应用程序崩掉。
所以在使用 DateTime的时候,务必须要指定时间格式。
使用DateTime.ToString("{时间格式}") 和DateTime.ParseExact方法。
2、Button等控件的IsTabStop属性
假设在游戏中使用各种silverlight原生控件,然后有一堆界面使用Visibility来实现隐藏和展示的话。建议将全部控件默认的IsTabStop属性给干掉,否则会出现的问题是,一个界面隐藏掉了,玩家按空格或者回车等键的时候,会触发Button的Click事件或者其它控件的各种响应事件。出现不必要的逻辑。
3、字体、字体库
不要以为使用默认字体就会万事大吉。
silverlight的默认字体会使用Lucida Sans Unicode,而在非常多盗版或者阉割下的windows下,这个字库都被删了,导致的问题是直接白屏。应用程序崩溃。
眼下我的应用程序使用的默认字体是SimHei,会略微少见缺字库的问题。假设应用程序包的大小不敏感,还是能够默认把字库带到XAP包里。
4、关于Dispatcher.BeginInvoke
新手会用上瘾。原因是能够解决非UI线程操作UI的问题。所以新手会无论三七二十一,全部地方须要涉及操控UI控件的的都用。
实际上须要理解一下这个函数的原理,实际上我对它的理解就是把一段代码托管到下一帧渲染的回调来执行,所以这里会有一帧的延迟。那么在你的游戏逻辑里,可能导致的现象会是屏幕闪烁,或者会导致游戏逻辑不必要的错误。
比方你写物品栏的逻辑,当用户点击一个物品时。隐藏物品栏而且使用该物品。假设你把隐藏物品栏的逻辑放到BeginInvoke里。那么可能导致的错误是用户在这一帧结束前疯狂点击这个物品,那么会触发很多次使用物品……诸如此类错误,均须要注意。
你应该仅仅在非UI线程操作UI的时候使用这个函数。切忌乱用。
5、代码安全
不做不论什么安全的XAP包是全然裸体呈现给玩家的。出于安全考虑,你须要做代码混淆。
眼下算好用的一个工具是 SmartAssembly(出Reflector的公司出的)。可是它可能会有致命问题:加密后的XAP包在某些windows机器下会訪问出错!client看到的现象是莫名其妙的说SmartAssembly加密过期了。(也可能是我用的破解版,可是付费的话,实在不是有特别好的渠道啊,并且好像也不廉价。
)
6、资源文件安全
不要以为将资源文件封装到dll里(Resource方式)就安全了。用Reflector照样一览无余。须要你自己写加密!
7、存档文件安全
在IsolatedStorage中。无论是自己创建的文件还是ApplicationSettings。都是不加密的。被篡改的风险非常大,你须要自己做验证机制。
并且如今给silverlight用户最大的困扰是,360等清理缓存默认是将silverlight应用程序空间给勾上的,而如今大部分的用户都喜欢直接点默认清理缓存,会导致将你的IstolatedStorage下的东东所有清理。你须要务必给你的用户说明确这点,让他们将360里的设置勾去除。
版权声明:本文博客原创文章,博客,未经同意,不得转载。
silverlight游戏在坑内发展的更多相关文章
- Silverlight游戏设计(Game Design):(十四)练习用游戏素材资源的获取及相关工具使用心得 --转
Silverlight游戏设计(Game Design):(十四)练习用游戏素材资源的获取及相关工具使用心得 通过前6节的Demo制作演示,大家应该已经相当熟悉这款Silverlight-2D游戏场景 ...
- Cocos 2d-X Lua 游戏添加苹果内购(二) OC和Lua交互代码详解
这是第二篇 Cocos 2d-X Lua 游戏添加苹果内购(一) 图文详解准备流程 这是前面的第一篇,详细的说明了怎样添加内购项目以及填写银行信息提交以及沙盒测试员的添加使用以及需要我们注意的东西,结 ...
- Cocos 2d-X Lua 游戏添加苹果内购(一) 图文详解准备流程
事前准备 最近给游戏添加了苹果的内购,这一块的东西也是刚刚做完,总结一下,其实这里不管是游戏还是我们普通的App添加内购这一块的东西都是差不多的,多出来的部分就是我们Lua和OC的交互的部分,以前刚开 ...
- 腾讯游戏DBA团队的发展自白
BA这个岗位跟仓管员很像,就是每天给别人发点货,别人在你这儿放点货,DBA工作就是把货尽快给送出去或者让人家尽快放进来.当然,还有一份重要的工作,就是让仓库里摆放的货物尽可能整齐,这也是仓管员的本职工 ...
- H5小游戏的坑点小结
坑点: 1) iOS 9.1 的safari中,在onTouchBegan方法中调用cc.audioEngine.playEffect播放音效是没有效果的,如果在onTouchEnded调用则是正常的 ...
- Egret 生成 自带EUI 的微信小游戏 踩坑!
1. 首先,再次被网上一大堆屎一样的资料搞得浪费了我一天时间.各种坑. 2. 本文先讲一种正确的方式,然后再列举坑. 去www.egret.com下载最新的引擎,我的最新版本是5.2.2. 然后就会被 ...
- 一次httpserver优化的经验和教训(silverlight游戏 - 金庸群侠传X0.5上线记)
金X因为被推荐到ACFUN游戏排行第一名.并同一时候在17YY.7K7K.U77.17173等各大小游戏站点上线.迎来了在线用户数量的爆炸式增长.眼下各大站点使用外链方式.也就是实际链接到金X官网的s ...
- [Unity3D]Unity3D游戏开发Android内嵌视图Unity查看
---------------------------------------------------------------------------------------------------- ...
- win7 架设php环境运行H5游戏的坑坑坑坑
解决办法: 修改php.ini 文件 session.save_path = "D:/H5_Game" 指向所用的根目录 环境 windows7 x64 + php7.0.8
随机推荐
- 使用iframe设置frameset的高度
index.html的页面代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "htt ...
- Spring3表达式语言(SpEL)学习笔记
最新地址请访问:http://leeyee.github.io/blog/2011/06/19/spring-expression-language Spring Excpression Langua ...
- linux安装Eclipse c++环境
yum install eclipse yum install eclipse-cdt
- ASP.NET - TreeView
设置节点图片 : Windows资源管理器左侧的树型资源结构图中,各节点都有图片连接,例如磁盘的图片.光盘的图片和文件夹的图片等,使资源的表现更加形象.IEWebControls的TreeView控件 ...
- App开发所要注意的几个法务问题(转)
GameLook 报道/ 移动应用市场的飞速发展催生出大量揭竿而起的开发者,同时许多矛盾也渐渐明显起来.其中涉及“抄袭”的问题尤为突出,毫不客气地说对于那些有底子的游戏厂商来说,法务已经成为团队中的一 ...
- Problem J: Island Buses
主要题意是:大海之间有岛,有的岛之间有桥,问你岛的个数,桥的个数,以及没有桥联通岛的个数,其中最后一次输入的没有回车,不注意的话最后一次会被吞,第二,桥的两端的标记是“X”(X也代表陆地),“X”的四 ...
- SDUT Fermat’s Chirstmas Theorem(素数筛)
Fermat's Chirstmas Theorem Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描写叙述 In a letter ...
- HTML5动态分页效果代码
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Esper学习之四:Context
上周末打球实在太累了,就没来得及更新,只是列了个提纲做做准备,发现Context还是有很多内容的.结果也花了不少时间才写完,所以这篇需要各位慢慢消化,并且最好多写几个例子加深理解. 如果有不了解Esp ...
- 6.0RMB MP3所看到的……
产品篇: 偶然看到这个商品信息,作为电子开发人员,首先想到的便是采用了哪家芯片方案,怎么做到这么低的价格! 于是立刻买了一台回来,拆机如下: 成本BOM: ...