有游戏开发经验的朋友一定知道gameloop的重要性,也就是游戏运行的核心。
以下是silverlight中最基础的gameloop的实现:
- public Page()
- {
- InitializeComponent();
- this.Loaded += new RoutedEventHandler(Page_Loaded);
- }
- //定义一个Storyboard命名为gameloop
- Storyboard gameloop;
- void Page_Loaded(object sender, RoutedEventArgs e)
- {
- //实例化
- gameloop = new Storyboard();
- //gameloop的刷新时间为25毫秒
- gameloop.Duration = new Duration(TimeSpan.FromMilliseconds(25));
- //注册刷新事件
- gameloop.Completed += new EventHandler(gameloop_Completed);
- //开始刷新
- gameloop.Begin();
- }
- //示例需要用到的运算变量
- int fps = 0;
- void gameloop_Completed(object sender, EventArgs e)
- {
- //在这里添加游戏代码
- //示例
- //这里的FPS是一个TextBlock控件,请自行添加到Page.xaml以顺利运行此示例
- FPS.Text = fps.ToString() + "FPS";
- fps++;
- //继续刷新
- gameloop.Begin();
- }
工程文件请到我的资源中下载
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。