小编mar*_*g11的帖子

如何编码.exe附带的外部文件

因此,我使用visual 2012制作了一个应用程序,它可以使用图像和着色器(纯文本).但实际上,我不希望人们打开图像和着色器并乱七八糟.如何将所有这些外部文件压缩为单个或多个文件,但仍可由可执行文件读取?

c++ executable visual-studio-2012

6
推荐指数
1
解决办法
1073
查看次数

列车寻路算法

我正试图找到一种解决方案,用于在火车游戏中进行寻路,其中存在不同类型的分叉.我希望火车从一个铁路到另一个铁路,除路径寻找外,一切都已实施.

我需要得到一个铁路列表,以便火车可以跟随.现在,问题是我如何获得列表.

  • 我已经尝试了A*,因为它停止搜索节点(轨道)是否已经访问过,所以没有用.这是一个问题,因为可能达到某一点的方法是通过最长的路线.
  • 尝试了洪水填充,这一次使它不停止搜索是否已经访问过,问题是我如何重建路径以及如何选择它不能再次倒退.

问题在于,有些情况下列车必须多次通过铁路才能到达目的地.

有任何想法吗?

起点是A,结束B.正如您所看到的那样,绿色路径应该是它应该行进的方式.黑色圆圈是火车将不止一次步进的轨道,在这种情况下是2次.

A-> B

在此输入图像描述

显然,你需要来自2黑色才能达到3红色.你不能只是去1black-> 2red-> 1red-> 3red.

algorithm a-star path-finding flood-fill

5
推荐指数
1
解决办法
1572
查看次数

无法以编程方式更改UITextView框架大小

我在界面构建器的视图中插入了一个UITextView,现在我想改变它的帧大小,以便它以编程方式适合内容.问题是由于约束,大小似乎被锁定并且不能从代码中取消.如果我在文件检查器中禁用使用自动布局,则每个对象都会删除约束,但我只想更改UITextView而不是其他对象.

[textview setFrame:CGRectMake(x,y,w,h)]; // This doesn't do anything to the uitextview
Run Code Online (Sandbox Code Playgroud)

xcode interface-builder ios

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

OpenGL - 顶点或片段着色器中的纹理映射?

是否在片段着色器或顶点着色器中映射了对象/三角形的纹理?

无论是在顶点还是片段着色器上,如果您正在编写着色器,那么您必须自己编写代码吗?如果没有着色器,你只需要在不知情的情况下就可以使用它来识别它们,但是使用着色器你必须自己做,对吗?

opengl shader textures

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

GLSL - 奇怪的语法错误"<"

我正在尝试使用着色器,但它一直告诉我片段和顶点着色器上的这个错误:

error(#132) Syntax error: "<" parse error
Run Code Online (Sandbox Code Playgroud)

顶点着色器

varying vec4 diffuse;
varying vec4 ambient;
varying vec3 normal;
varying vec3 halfVector;
 
void main()
{
    normal = normalize(gl_NormalMatrix * gl_Normal);
 
    halfVector = gl_LightSource[0].halfVector.xyz;
 
    diffuse = gl_FrontMaterial.diffuse * gl_LightSource[0].diffuse;
    ambient = gl_FrontMaterial.ambient * gl_LightSource[0].ambient;
    ambient += gl_LightModel.ambient * gl_FrontMaterial.ambient;

    gl_Position = ftransform();
 
}
Run Code Online (Sandbox Code Playgroud)

片段着色器

varying vec4 diffuse,ambient;
varying vec3 normal,halfVector;
 
void main()
{
    vec3 n,halfV,lightDir;
    float NdotL,NdotHV;
 
    lightDir = vec3(gl_LightSource[0].position);
 
    vec4 color = ambient;
 
    n = normalize(normal);
 
    NdotL = max(dot(n,lightDir),0.0);
    if (NdotL > …
Run Code Online (Sandbox Code Playgroud)

opengl shader glsl

3
推荐指数
1
解决办法
4194
查看次数

将 NSArray 转换为 char** 并返回 c 数组

我需要转换一个用 NSStrings 填充的 NSarray 并将这个 c 数组返回给函数。

-(char**) getArray{
        int count = [a_array count];
        char** array = calloc(count, sizeof(char*));

        for(int i = 0; i < count; i++)
        {
             array[i] = [[a_array objectAtIndex:i] UTF8String];
        }
        return array;     
}
Run Code Online (Sandbox Code Playgroud)

我有这个代码,但是如果我要返回东西,我应该什么时候释放内存?

c arrays objective-c

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

2D数组 - 检测位置是否在闭合图案内

假设我有以下内容:

{ 0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,X,X,X,0,
  0,0,0,X,X,X,X,0,X,0,
  0,0,0,X,0,A,0,0,X,0,
  0,0,0,X,0,0,X,X,X,0,
  0,0,0,X,X,X,X,0,0,0,
  0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0 }
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,显然A在内部被所有X包围(对角线不计数).那么我可以检测数组中的一个点是否被X包围,它当然是关闭的吗?任何递归算法?我想到了以下伪代码:

bool IsSurroundedByX( Vector2 A )
{
     if A is an extrem from the matrix ( column is 0 or N-1 || row is 0 or M -1 ) and not an X return false
     if A is an X return true
     return IsSurroundedByX( A + left ) && 
            IsSurroundedByX( A + right ) && 
            IsSurroundedByX( A + bottom ) && 
            IsSurroundedByX( A + top ) && 
} …
Run Code Online (Sandbox Code Playgroud)

arrays algorithm recursion multidimensional-array

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