博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#游戏开发中快速的游戏循环
阅读量:6009 次
发布时间:2019-06-20

本文共 1406 字,大约阅读时间需要 4 分钟。

C#游戏开发中快速的游戏循环的实现。参考《精通C#游戏编程》一书。

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows.Forms;using System.Runtime.InteropServices;namespace GameLoop{    [StructLayout(LayoutKind.Sequential)]    public struct Message    {        public IntPtr hWnd;        public Int32 msg;        public IntPtr wParam;        public IntPtr lParam;        public uint time;        public System.Drawing.Point p;    }    public class FastLoop    {        [System.Security.SuppressUnmanagedCodeSecurity]        [DllImport("User32.dll", CharSet = CharSet.Auto)]        public static extern bool PeekMessage(            out Message msg,            IntPtr hWnd,            uint messageFilterMin,            uint messageFilterMax,            uint flags);        PreciseTimer _timer = new PreciseTimer();        public delegate void LoopCallback();        LoopCallback _callback;        public FastLoop(LoopCallback callback)        {            _callback = callback;            Application.Idle += new EventHandler(OnApplicationEnterIdle);        }        void OnApplicationEnterIdle(object sender, EventArgs e)        {            while (IsAppStillIdle())            {                _callback();            }        }        private bool IsAppStillIdle()        {            Message msg;            return !PeekMessage(out msg, IntPtr.Zero, 0, 0, 0);        }    }}

 

---恢复内容结束---

转载地址:http://kgsmx.baihongyu.com/

你可能感兴趣的文章
mysql 优化
查看>>
2.4 salt grains与pillar jinja的模板
查看>>
MySQL主从(介绍,配置主机,配置从机,测试主从同步)
查看>>
不同版本的outlook客户端配置Office 365 exchange online帐户需要安装的补丁
查看>>
Java服务器-resin
查看>>
Linux下搭建JDK和TOMCAT环境
查看>>
关闭windows休眠
查看>>
Ansible之十一:变量详解
查看>>
那些SCOM 管理包开发中遇到的坑1–Powershell scriptBlock Invoke执行结果的类型
查看>>
关于Server Sql 2008触发器的使用
查看>>
mac常见命令
查看>>
Redhat 系统相关调优参数注解
查看>>
nextus的使用
查看>>
Python自动化开发学习5-2-subprocess模块
查看>>
编程实现最小化窗口到桌面右下角图标的代码
查看>>
ELK stack实战之结合rsyslog分析系统日志(auth.log)
查看>>
网络管理工具与IT运维管理平台的差别
查看>>
五一期间安全回顾 木马威胁提升 移动设备数据泄漏受重视
查看>>
VDI序曲二十 桌面虚拟化和RemoteApp集成到SharePoint 2010里
查看>>
oracle里long类型的总结
查看>>