繁体   English   中英

在Silverlight中动态加载设置

[英]Dynamically Loading Settings In Silverlight

我有一个正在使用Silverlight编写的简单游戏。 我想做的是允许更改游戏外观(所使用的图像,播放的声音以及游戏中对象的位置),而无需修改或重新编译任何Silverlight代码。

我尝试采用的方法是将“ ID”传递给Silverlight对象。 该ID将注入所有资源的URL中。

http://myServer.com/MyGame/1/Images/1.png

如果制作另一个HTML页面并传递2的GameID,我将获得完全不同的图像和声音集。 该零件似乎工作正常(即使被误导了)。

但是我也有一些配置项目,例如某些东西在屏幕上的位置以及一些影响游戏玩法的规则。 我想将其放入XML文件中,然后让游戏使用与“图像和声音”相同的方法加载文件-但我似乎无法使其正常工作。 我还没有找到同步下载文件的任何方法。

我有一些想法-制作自己的“加载屏幕”以异步方式下载文件,读取文件/设置游戏并开始游戏。 但是我感觉到自己可能正在重新发明轮子或做一些愚蠢的事情。

有没有更好的方法可以做到这一点?

在某种程度上,您会重新发明轮子,但是您要重新发明的轮子并不是特别复杂。 如果要创建业务应用程序,则可能会在Silverlight工具箱中使用BusyIndicator控件。 此控件允许在运行大量后台活动时显示一些“正在加载...” UI。

您可以以此为起点,但是您可能希望替换其默认样式,特别是替换样式中的默认模板,以呈现与游戏图形保持一致的UI。

但是,仅包含用于此功能的工具包可能不是一个好的折衷方案。 创建了自己的模板后,很容易重新创建位于模板后面的非常简单的控件。 因此,是的,您将重新创建轮子,但是无论如何,大部分工作将集中在游戏特有的图形中,而其余的部分可能是值得的,因为不必在项目中包含工具包dll。

只要用户知道“事情”正在进展/继续他们会很高兴的,我认为加载屏幕是完全可以接受的,尤其是在游戏社区,几乎每个游戏都要求您等待地图等加载时

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM