码迷,mamicode.com
首页 > Web开发 > 详细

AntTweakBar.Net的坑

时间:2019-08-31 17:09:02      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:code   需要   nuget   加载   bool   dll   manual   下载   cte   

AntTweakBar.net是AntTweakBar的c#封装版本。问题还是有一些的。我用过几次,每次都会忘记它的坑,所以这次特地记下来。

首先是,用nuget下载的AntTweakBar的包是不完整的,没有包括AntTweakBar的win32 Dll。启动的时候,会出现无法加载dll之类的提示。要把AntTWeakBar.dll拷贝到运行目录才能解决。

然后,AndTWeak缺少一个简单的Demo,官方那个Demo太罗嗦了,浪费时间。

最简单的代码是这样的:

    class TestGameWindow:GameWindow {
        Context context;
        public TestGameWindow() : base(1024, 768, GraphicsMode.Default, "My test AntTweakBar") {
        }
        protected override void OnLoad(EventArgs e) {
            base.OnLoad(e);
            context = new Context(Tw.GraphicsAPI.OpenGL);
            var mybar = new Bar(context);
            mybar.Label = "test my bar1";
            mybar.Size = new Size(500, 150);
        }

        protected override void OnRenderFrame(FrameEventArgs e) {
            base.OnRenderFrame(e);
            context.Draw();
            SwapBuffers();
        }

    

        protected override void OnResize(EventArgs e) {
            base.OnResize(e);
            context.HandleResize(ClientSize);
        }
        protected override void Dispose(bool manual) {
            if (context != null) {
                context.Dispose();
            }
            base.Dispose(manual);
        }

        [STAThread]
        static void Main() {
            using (var window = new TestGameWindow()) {
                window.Run(120.0, 60.0);
            }
        }
    }

需要注意的是,

    context.HandleResize(ClientSize);
必须放在override的OnResize方法中,放在GameWindow的Resize事件中无效,之后会出异常。
然后,窗口必须执行Dispose,否则退出的时候也会抛异常。

AntTweakBar.Net的坑

标签:code   需要   nuget   加载   bool   dll   manual   下载   cte   

原文地址:https://www.cnblogs.com/mooniscrazy/p/11439517.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!