`
jiasongmao
  • 浏览: 648945 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

精彩的 Silverlight 开源项目

阅读更多

Silverlight 物理模型

 http://www.codeplex.com/FarseerPhysics

 demo: http://www.farseergames.com/Games/WaterDemo/WaterDemo.aspx

Physics Helper 是Silverlight中的一套控件,他能直接帮助你套用Farseer Physics  这个物理引擎。在制作动画中能帮你节省大量的时间。

The Farseer Physics Engine is an easy to use 2D physics engine designed for Microsoft’s XNA and Silverlight platforms. The Farseer Physics Engine focuses on simplicity, useful features, and enabling the creation of fun, dynamic games.

Demos

Egg on a Hill
Car on a Ramp
Simple Game
Rag Doll
Camera with Rag Doll
Camera with Truck
PhysicsHelperAnimal


Resources

Physics Helper for Silverlight, Blend, and Farseer  
Farseer Physics Engine


  • Silverlight Cairngorm

 http://www.codeplex.com/SilverlightCairngorm

Cairngorm 这个词做过flex开发的朋友应该不会陌生,Cairngorm是Flex开发中的一个MVC框架,由Adobe 官方提供支持。现在Silverlight也有了Cairngorm这个框架的实现

Currently, there's no official MVC/MVP/MV-VM frameworks for Silverlight . When developing enterprise applications, or building a large scale LOB application in Silverlight, client side architecture becomes important for "development salability". Although there is some guidance or frameworks for WPF , none of them can be easily applied to Silverlight. Adobe's Cairngorm has been broadly used in the Flex RIA application since 2006; it has easy-to-understand concepts, well-recognized design patterns, and has proved to work well to scale large line-of-business applications' development. This article describes the efforts of porting Cairngorm to Silverlight (Beta 2) in Visual Studio 2008 SP1, provides details about which concepts/classes have been adopted and what has been dropped, and also includes a sample application to demonstrate how it works and how it's intended to use. It helped me a lot to create a Silverlight prototype at work for a potential large scale consumer-oriented financial application; wish this effort would be useful to other Silverlight developers.

摘自:http://www.codeproject.com/KB/silverlight/SilverlightCairngorm.aspx

  • patterns & practices - Unity

http://www.codeplex.com/unity

现在已经支持silverlight :

什么是 Unity?

Unity是一个轻量级的,可扩充的依赖注入容器。Unity可以很好的支持Model-View-Presenter (MVP) pattern来做silverlight的开发。

The Unity Application Block (Unity) is a lightweight extensible dependency injection container with support for constructor, property, and method call injection.

Unity addresses the issues faced by developers engaged in component-based software engineering. Modern business applications consist of custom business objects and components that perform specific or generic tasks within the application, in addition to components that individually address cross cutting concerns such as logging, authentication, authorization, caching, and exception handling.

The key to successfully building such applications is to achieve a decoupled or very loosely coupled design. Loosely coupled applications are more flexible and easier to maintain. They are also easier to test during development. You can mock up shims (lightweight mock implementations) of objects that have strong concrete dependencies; such as database connections, network connections, ERP connections, and rich user interface components.

Dependency injection is a prime technique for building loosely coupled applications. It provides ways to handle the dependencies between objects. For example, an object that processes customer information may depend on other objects that access the data store, validate the information, and check that the user is authorized to perform updates. Dependency injection techniques can ensure that the customer class correctly instantiates and populates all of these objects, especially where the dependencies may be abstract.


What’s New?

The following capabilities and packaging of the Unity container have been adjusted in this release:

  • – The single Microsoft.Practices.Unity.dll file in the Silverlight version contains all the classes from the three separate desktop DLLs: Microsoft.Practices.Unity.dll, Microsoft.Practices.ObjectBuilder2.dll, and Microsoft.Practices.Unity.StaticFactoryExtension.dll. You only need to reference and deploy the one assembly in your Silverlight projects.
  • – Because of differences in the Silverlight security model, only public types can be created and injected by the container. The desktop version allows you to also inject internal types.
  • – XML configuration is not supported.
  • - The Unity interception mechanism is not supported.

 


  • Silverlight 3D 引擎: Kit3D

 http://www.codeplex.com/Kit3D

Kit3D is a 3D graphics engine for Microsoft Silverlight. There is a JavaScript version that runs on the 1.0 bits of Silvelright, however moving forward the engine will only be actively developed in C#. The library has been refactored to match the System.Windows.Media.Media3D namespace from WPF so that it closely matches development for WPF3D syntax (saves me creating documentation :-) )

This is really cool - check out the video running on the cubes, also if you click on some of the cubes the layers rotate, awesome: http://sildev.net/3DCubes/index.html (The owner of the site modified Kit3D to have videobrush support, I hope to add this soon)

http://sildev.net/3DDemo/

monkey.jpg

 


  • Silverlight 射箭小游戏 基于MVC框架 

 http://www.codeplex.com/PowerArrow


预览地址:http://itouchfuture.cn/lab/powerarrow/
Silverlight技术慢慢的成熟了起来,这里我用了业余时间做了一个小游戏。操作很简单,鼠标按下是拉弓,松开是射箭。
游 戏采用了MVC框架Cairngorm http://www.codeplex.com/SilverlightCairngorm 来进行开发。所有的元素都封装成了控件,和Model层的数据进行了双向的绑定。可以简单的通过控制Model模型对整个游戏进行控制。


后记:非常感谢来自http://www.cnblogs.com/nasa  的优秀文章

 


  • ScatterView

简介:

ScatterView是一个布局控件,允许对其内部的子控件进行鼠标拖拽、扔出等操作。
项目地址:http://scatterview.codeplex.com/



使用:

这里 下载DlLL文件,其中包含两个文件:agTweener.dll 、ScatterView.dll。ScatterView.dll是主文件agTweener.dll 是用来做动画效果的,之前 有对他的介绍。下载了文件后在Silverlight项目中添加引用。

在page.xaml的头部添加代码
 xmlns:ScatterView="clr-namespace:ScatterView;assembly=ScatterView"         

把ScatterView控件放入page中
   <scatterview:scatterview margin="5,5,5,5" horizontalalignment="Stretch" x:name="xScatterView">
         </scatterview:scatterview>

在后台添加子控件
xScatterView.AddChild(UIElement1UIElement2 );
这里说明一下,第一个参数是真正要添加的子控件,第二个参数是子控件的阴影,如果没有,用null代替。

Demo:

这里我做了一个使用的小demo,可根据google ID从http://picasaweb.google.com 获取相册数据并将获取到的照片缩略图放入ScatterView容器控件中。右下角的GetTarot按钮是内置的一套塔罗牌。
http://www.grmcac.com/silverlight/lab/ScatterView/
demo全部源代码下载:http://scatterview.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24169

预览:

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics