小编S.A*_*hid的帖子

相机正投影尺寸一定宽度

如何设置一定的尺寸单位来定义相机在人像模式下的正交尺寸的宽度?

我想将任何移动设备的水平尺寸设置为从屏幕左中到右中正好5 米? 我怎样才能做到这一点?我从视频剪辑中找到了这段代码,但我不明白它,我认为它对我没有帮助,因为我没有游戏场,而且我的游戏世界将在游戏过程中自动生成(它是无限 2D 卷轴游戏)。

[SerializeField] private SpriteRenderer gameField;
void Start()
{
    float screenRatio = (float)Screen.width / (float)Screen.height;
    float targetRatio = gameField.bounds.size.x / gameField.bounds.size.y;
   
    if (screenRatio > targetRatio)
    {
        Camera.main.orthographicSize = gameField.bounds.size.y / 2;
    }
    else
    {
        float differenceInSize = targetRatio / screenRatio;
        Camera.main.orthographicSize = gameField.bounds.size.y / 2 * differenceInSize;
    }
}
Run Code Online (Sandbox Code Playgroud)

我不知道为什么unity不自动处理这些问题?

2d orthographic unity-game-engine

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

稀疏矩阵

我们如何显示稀疏矩阵?有人想帮助我说:使用链表。
我还读过一些我们应该创建这样的类的地方:

SpMatrix
{
    int non_zero_value;
    int i,j;
}
Run Code Online (Sandbox Code Playgroud)

到底什么是稀疏矩阵,我已经阅读了维基百科和其他网站。但问题还没有解决。

提前致谢。

c++ algorithm sparse-matrix

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

DPI和PPI | DPI或PPI

DPI和PPI之间有什么不同吗?是真的吗:Dot = Pixel?最后,C#.net中的DpiX和DpiY是什么?我们怎样才能改变它们?

c# windows graphics

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

区别:访问和:活动选择器

有什么区别:访问和:css中的活动伪类?

我认为:当完全加载重定向页面时,激活将改变锚点颜色.对吧?

非常感谢....

html css

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

LINQ如何在查询结果的一列中合并两列

嗨,数据库架构是这样的:

在此处输入图片说明

请查看下面的查询(我想获取游戏 ID 为 1001 的游戏玩家 5000 的库存):

 var gameID=1001;
 var playerID=5000;
 var q = from p in Players
        join gp in GamePlays on p.PlayerID equals gp.PlayerID
        join gpi in GamePlayItems on gp.GamePlayID equals gpi.GamePlayID        
        join it in Items on gpi.ItemID equals it.ItemID
        where p.PlayerID == playerID
        where it.GameID == gameID

select new 
{
    GamePlayID = gp.GamePlayID,
    ItemName = it.ItemName,
    ItemValue = gpi.ItemValue,
};
q.Dump();
Run Code Online (Sandbox Code Playgroud)

结果如下所示:

在此处输入图片说明

但我不希望 GamePlayID 列重复。我只想获取第二列是哈希集的记录或列表包含库存的记录。(我想将第二列和第三列合并为一列)。怎样才能做到这一点?例如我的愿望结果是:

GamePlayID       Items
---------        -----
6                A List => { (ItemName1, ItemValue1), …
Run Code Online (Sandbox Code Playgroud)

c# sql linq

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

通过鼠标移动控件

我要用鼠标移动按钮,一切正常,但是当我在按钮窗口上移动鼠标时,按钮的左上方(左上角)将位于光标位置.

我不希望这种情况发生.我的代码中的错误在哪里?

private void button1_MouseDown(object sender, MouseEventArgs e)
{
    if (e.Button == System.Windows.Forms.MouseButtons.Left)
    {
        clicked = true;
    }

}

private void button1_MouseMove(object sender, MouseEventArgs e)
{
    if (clicked)
    {
        Point p = new Point();//in form coordinates
        p.X =  e.X + button1.Left;
        p.Y =  e.Y + button1.Top;
        button1.Left = p.X;
        button1.Top = p.Y ;

    }

}

private void button1_MouseUp(object sender, MouseEventArgs e)
{
    clicked = false;   
}
Run Code Online (Sandbox Code Playgroud)

c#

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

xor和颜色反转?

什么是颜色反演算法?我们怎么能实现这个呢?

例如

Black->White
Blue->Yellow
Run Code Online (Sandbox Code Playgroud)

algorithm

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

随机填充2d数组

这个代码适用于n <20,但是对于n = 40,我给出了访问冲突错误:此代码将随机填充X和O.

 int i=0,j=0;
 int x=0,y=0;
 int n=40;
 for(i=0;i<n;i++)
 {
     for(j=0;j<n;j++)
         arr[i][j]='O';
 }

 srand(clock());
 for(i=0;i<n*n;i++)
 {
   x = rand()%n;
   y = rand()%n;
   if(arr[x][y] == 'O') arr[x][y]='X';
 }
Run Code Online (Sandbox Code Playgroud)

宣布:

 arr = (char**)malloc(n);
 for(i=0;i<n;i++)
    arr[i] = (char*)malloc(n);
Run Code Online (Sandbox Code Playgroud)

c c++

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

Bresenham线绘图Alogrithm

Bresenham的浮点算法中有些东西让我烦恼.

算法如下:

void line(x0, x1, y0, y1)
{
  int deltax = x1 - x0;
  int deltay = y1 - y0;
  float error = 0;
  float deltaerr = Math.abs((float)deltay / (float)deltax);
  int y = y0

  for(int x=x0;x<=x1;x++)
  {
    SetPixel(x,y)
    error = error + deltaerr
    if (error >= 0.5)
    {
             y = y + 1
             error = error - 1.0
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

假设我们想要绘制Y = 0.6X.所以在x = 0的第一步:错误将设置为0.6,我们将遇到if语句,y将增加.和错误将设置为-0.4.-0.4如何在下一步帮助我们?

所以我的问题是这行代码:

error = error - 1.0
Run Code Online (Sandbox Code Playgroud)

为什么我们应该将错误减少1?我读过因为重新调整我们这样做了!它如何帮助我们?

c c++ algorithm bresenham

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

当我们将数据从ax移动到端口地址时,我们会发生什么?

为了将频率加载到8254芯片的计数器寄存器中,我们将频率加载到ax,然后我们将al和ah一个接一个地移动到端口#42h:

    mov ax,1fb4h
    out 42h,al
    mov al,Ah
    out 42h,AL
Run Code Online (Sandbox Code Playgroud)

好吧,为什么它有效?我认为有一个覆盖,端口42h的最后一个值将是AH => 1f,所以从来没有b4(它们的低位)将保留在端口地址中!所以我们将失去频率......

为什么我们不能使用这个:

out 42h,AX
Run Code Online (Sandbox Code Playgroud)

如果端口地址空间小于AX,那么为什么第一行代码工作以及如何工作?

c++ io port x86 assembly

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

标签 统计

c++ ×4

algorithm ×3

c# ×3

c ×2

2d ×1

assembly ×1

bresenham ×1

css ×1

graphics ×1

html ×1

io ×1

linq ×1

orthographic ×1

port ×1

sparse-matrix ×1

sql ×1

unity-game-engine ×1

windows ×1

x86 ×1