小编Ash*_*vis的帖子

除了使用NSTimer之外,在iPhone上创建游戏循环的更好方法是什么?

我在iPhone上编写游戏.我目前正在使用NSTimer来触发我的游戏更新/渲染.这个问题是(在分析之后)我似乎在更新/渲染之间失去了很多时间,这似乎主要与我插入NSTimer的时间间隔有关.

所以我的问题是使用NSTimer的最佳替代方案是什么?

请回答一个替代方案.

iphone cocoa objective-c

23
推荐指数
2
解决办法
1万
查看次数

如何绑定只读WPF控件属性(例如ActualWidth),以便在视图模型中访问其值?

我想将控件的只读属性绑定到我的视图模型,以便该值在视图模型中可用.

这样做的最佳方式是什么?

例如,我想绑定ActualWidth到视图模型中的属性.宽度值由WPF使用其布局逻辑生成,因此我无法在视图模型中生成此值并将其推送到控件属性,这通常是这种情况.相反,我需要让WPF生成值并将其推送到视图模型.

我会使用Mode=OneWayToSource,但这不适用于只读属性:

  <Border
      ...
      ActualWidth="{Binding MyDataModelWidth, Mode=OneWayToSource}"
      >
      ... child controls ...
  </Border>
Run Code Online (Sandbox Code Playgroud)

我目前的做法是处理SizeChanged边框,代码隐藏将值插入视图模型,但这感觉不太对.

有人已经解决了这个问题吗?

更新:我的问题实际上是这个问题的重复:将 只读GUI属性推回到ViewModel

c# wpf xaml mvvm actualwidth

23
推荐指数
1
解决办法
4万
查看次数

如何在OpenGL中获取矩阵堆栈的当前大小?

如何在OpenGL中获取矩阵堆栈的当前大小(GL_MODELVIEW,GL_PROJECTION,GL_TEXTURE)?

我想这样做,以便我可以做一些错误检查,以确保在代码的某些部分我可以检查矩阵堆栈是否保持原始状态.

c opengl graphics matrix

10
推荐指数
1
解决办法
2783
查看次数

如何为特定类型查找和调用.Net TypeConverter?

我想实现一个通用的运行时类型转换函数,它使用.Net TypeConverters来进行转换.

有谁知道如何查找和调用特定类型的TypeConverter?

考虑一下这个C#示例:

//
// Convert obj to the type specified by 'toType'.
// 
object ConvertTo(object obj, Type toType)
{
    if (TypeIsEqualOrDerivesFrom(obj.GetType(), toType)) <-- I know how to implement this.
    {
        // The type of obj is the same as the type specified by 'toType' or
        // the type of obj derives from the type specified by 'toType'.
        return obj;
    }

    if (TypeConverterExists(obj.GetType(), toType) <-- How do I implement this?
    {
        // There exists a type convertor that is …
Run Code Online (Sandbox Code Playgroud)

.net c# type-conversion

10
推荐指数
2
解决办法
1万
查看次数

如何传播WPF数据绑定期间发生的错误和异常?

我经常发现我在应用程序中意外破坏了数据绑定.通过重命名属性而不是在XAML中重命名属性,或者由于某种原因抛出异常的属性.

默认情况下,数据绑定错误会记录到调试输出中,并且会捕获并抑制抛出的异常.

是否有一种简单的方法可以在记录调试输出后抛出异常?

我想尽快知道数据绑定是否被破坏(理想情况下是在自动化测试中取出),并且不会冒险在人类测试之前可能会被忽视的可能性.

c# data-binding wpf xaml

9
推荐指数
1
解决办法
4555
查看次数

是否存在在XAML中使用任意C#表达式的现有方法?

我希望能够在XAML中使用任意C#表达式.通常,这将是基于两个绑定值计算UI元素的属性.

例如,基于另外两个属性计算UI元素的宽度.

这是我希望XAML看起来像一个人为的例子:

<TextBox
   x:Name="textBox1"
   />

<TextBox
   x:Name="textBox2"
   />

<Rectangle
    Height={Double.Parse(textBox1.Text) + Double.Parse(textBox2.Text)}
    />
Run Code Online (Sandbox Code Playgroud)

当然,在XAML中没有内置的方法.

我知道我可以使用MultiBinding结合自定义转换器,这通常是我做这种事情的方式.然而,在我看来,在XAML中包含一些C#代码会简单得多,我想知道是否有人已经用XAML扩展或其他东西解决了这个问题.

c# wpf xaml

8
推荐指数
1
解决办法
2298
查看次数

如何键入检查内存中的 TypeScript 代码片段?

我正在我的应用程序Data-Forge Notebook 中实现 TypeScript 支持。

我需要编译、类型检查和评估 TypeScript 代码片段。

编译似乎没有问题,我使用transpileModule如下所示将一段 TS 代码转换为可以评估的 JavaScript 代码:

import { transpileModule, TranspileOptions } from "typescript";

const transpileOptions: TranspileOptions = {
    compilerOptions: {},
    reportDiagnostics: true,
};

const tsCodeSnippet = " /* TS code goes here */ ";
const jsOutput = transpileModule(tsCodeSnippet, transpileOptions);
console.log(JSON.stringify(jsOutput, null, 4));
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试编译有错误的 TS 代码时出现问题。

例如,下面的函数有一个类型错误,但它在没有任何错误诊断的情况下被转换:

function foo(): string {
    return 5;
}
Run Code Online (Sandbox Code Playgroud)

转译很棒,但我也希望能够向我的用户显示错误。

所以我的问题是如何做到这一点,同时还要进行类型检查并为语义错误产生错误?

请注意,我不想将 TypeScript 代码保存到文件中。这对我的应用程序来说将是一个不必要的性能负担。我只想编译和键入保存在内存中的代码片段。

typechecking transpiler typescript typescript-compiler-api

8
推荐指数
2
解决办法
1483
查看次数

是否存在以C++和Javascript实现的高级进程间通信API

我在app上工作,我需要在C++应用程序和Javascript Web应用程序之间传递消息.

当然,我可以用任何一种语言自己编写套接字代码,并且在必要时我已经完成了这个.

我真正想要的是更高级别的消息发布或消息排队A​​PI,它为我做了很多工作.有谁知道这样的API?

我看过ICE,它似乎没有Javascript绑定.我也看过Boost消息队列,但它只适合C++方面的事情.如有必要,我可以为这些技术中的任何一种推出自己的Javascript绑定.

更新:对不起之前我应该​​提到这个,我想在浏览器中运行它.

为了给出一个更完整的故事我想要的是一个简单的基于浏览器的应用程序,用于配置和显示C++应用程序的日志记录.

我知道还有其他方法可以做到这一点,但我特别感兴趣的是C++和基于浏览器的Javascript中的高级库,它在套接字API的顶部构建消息队列(如果没有,那么我可能会考虑自己实现它并编写代码项目文章).

另外:我对Web浏览器的可移植性并不感到烦恼.例如,如果有一个只能在Chrome中运行的高级IPC Javascript库,我会很高兴.

javascript c++ sockets network-programming websocket

7
推荐指数
1
解决办法
4342
查看次数

如何触发WPF ContextMenu的结束动画?

有没有人知道在WPF ContextMenu关闭时是否可以触发动画?

我有代码在打开ContextMenu时触发动画.动画使上下文菜单淡入视图.当ContextMenu关闭以使其淡出时,我也想要一个动画.

启动打开的淡入动画的代码如下所示:

        var animation = new DoubleAnimation();
        animation.From = 0;
        animation.To = 1;
        animation.Duration = TimeSpan.FromSeconds(0.2);
        animation.Freeze();

        menu.BeginAnimation(ContextMenu.OpacityProperty, animation);
Run Code Online (Sandbox Code Playgroud)

淡入动画也在子菜单项上运行.

请注意,除了淡入和淡出之外,我还想运行其他动画.例如,我希望上下文菜单从零开始向上扩展,以便将其"反弹"到视图中.

c# wpf

5
推荐指数
2
解决办法
1744
查看次数

是否可以从 Monaco Editor 中删除某些错误?

我正在向我的应用程序Data-Forge Notebook添加 TypeScript 支持。

它是一个用于 JavaScript 的笔记本式应用程序。当我在代码单元格中使用 'await' 关键字时,Monaco 将其标记为错误,如下面的屏幕截图所示:

来自摩纳哥编辑器的错误

当代码被执行或导出时,整个代码块都被包裹在一个async函数中,这样当发生这种情况时就不会出现错误。

我需要能够自定义 Monaco 以消除此错误,因为在这种情况下它没有意义。

使用 Monaco 编辑器时是否可以删除或修改这样的错误?

monaco-editor

5
推荐指数
2
解决办法
762
查看次数