小编Mic*_*kyD的帖子

Unity中游戏对象的水平重力

我正在做一个简单的2D游戏.

我有gameobject一个rigidbody组件.

标准刚体重力拉下我的游戏对象,但我想重力将游戏对象拉到左边.

我知道如何在编辑 - >项目设置 - >中将重力设置为向左拉动...但是此设置会将重力更改为所有刚体,这在我的情况下是个问题.

我只想为1个游戏对象设置引力.

c# rigid-bodies unity-game-engine game-physics gameobject

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

Unity3d进度条

我正在使用unity3D开发游戏,我需要帮助制作进度时间栏,以便在收集特定项目时添加时间,从而继续游戏.

c# unity-game-engine unityscript unity3d-gui

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

如何更改按钮中的彩色文字?

private void arrButton_Click(object sender, EventArgs e)
{
    Button button = (Button)sender;

    if (turn == 0)
    {
        button.ForeColor = Color.Green; // Can't change color
        button.Text = "X";
        button.Enabled = false;
        turn = 1;
    }
    else
    {
        button.Text = "O";
        button.Enabled = false;
        turn = 0;
    }
}
Run Code Online (Sandbox Code Playgroud)

我用过button.ForeColor = new Color.Green但是当我测试X时仍然无法改变绿色.

如何更改按钮中的彩色文字?

c# winforms

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

关于Thread.Sleep()在c#中2小时的问题

我正在研究.net windows应用程序.

我在用 System.Threading.Thread.

使用五(5)个线程的单一形式.我有一个代码,在运行时,它按顺序执行一系列行.我想在两者之间添加一个暂停.

为此我正在使用

Thread.Sleep(10800000)
Run Code Online (Sandbox Code Playgroud)

3个小时

但是在执行了行之后我检查了调试模式

Thread.Sleep(10800000)
Run Code Online (Sandbox Code Playgroud)

我的调试不会进入下一行,或者即使在等待4小时后,下一行也不会执行.

我在其他线程中使用此Thread.Delay不在主线程中.此延迟需要因为,我发送命令将设置配置为硬件,该设置至少需要3个小时才能完成.

这就是我使用它的原因

Thread.Delay(10800000)
Run Code Online (Sandbox Code Playgroud)

意味着我的前进代码只在等待3个小时后继续进行.

谁能帮我?

.net c# sleep visual-studio-2012

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

C# VSTO Outlook 插件:不释放 MailItem 对象的可能影响是什么

Marshal.ReleaseComObject在 Outlook 中与 MailItems 交互时使用的重要性是什么?

我参考了在https://docs.microsoft.com/en-us/visualstudio/vsto/walkthrough-creating-your-first-vsto-add-in-for-outlook?view创建 C# VSTO Outlook 插件的演练 =vs-2019

他们有一个修改现有选定邮件项目主题和正文的示例。

void Inspectors_NewInspector(Microsoft.Office.Interop.Outlook.Inspector Inspector)
{
    Outlook.MailItem mailItem = Inspector.CurrentItem as Outlook.MailItem;
    if (mailItem != null)
    {
        if (mailItem.EntryID == null)
        {
            mailItem.Subject = "This text was added by using code";
            mailItem.Body = "This text was added by using code";
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

该示例结束时没有提及使用 释放邮件项目对象Marshal.ReleaseComObject

但在https://docs.microsoft.com/en-us/dotnet/api/system.runtime.interopservices.marshal.releasecomobject?view=netframework-4.8的 .Net API 参考中,他们提到:

您应该使用此方法及时或在必须以特定顺序释放对象时释放包含对资源的引用的基础 COM 对象。

因此,如果我们未能在我们引用的 MailItem 上使用 Marshal.ReleaseComObject,显然会有一些后果?

是否存在不使用 Marshal.ReleaseComObject 会导致问题的特定用例?

谢谢

c# outlook vsto office-addins outlook-addin

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

关于C#OOP的澄清

我们已经获得了一个用于构建面向对象类的任务,它基本上只是查看在main方法中运行的测试器类.

using System;
using school; 

namespace testschool{

public class Tester {
   static void Main(){ 
    Faculty scienceFac=University.createFaculty("Science");
    Department compSciDept=  scienceFac.openNewDepartment("Computer Science"); 
    Department physicsDept=  scienceFac.openNewDepartment("Physics"); 
    Console.WriteLine(Object.ReferenceEquals(
        scienceFac, physicsDept.Faculty)); //expected to return scienceFac object
    Console.WriteLine(University.numberOfFaculties());

//..... MORE CODE
Run Code Online (Sandbox Code Playgroud)

我认为他使代码尽可能令人困惑,而且它真的让人感到困惑.我刚刚开始,我已经卡住了,但到目前为止,这就是我所拥有的.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace testschool
{
    class University
    {
        List<Faculty> all_faculty = new List<Faculty>();

        public Faculty createFaculty(string faculty_name)
        {
            Faculty new_faculty = new Faculty(faculty_name);
            all_faculty.Add(new_faculty);
            return new_faculty;
        }

        public int numberOfFaculties()
        {
            return all_faculty.Count;
        }
    }

    class …
Run Code Online (Sandbox Code Playgroud)

c# arrays oop object

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

在没有for循环的情况下从List创建DataTable的最快方法

我们有一个巨大的列表(比如100,000),需要转换DataTableSqlBulkcopy.

你能指导什么是最快的方法,而不使用for循环?现在我们这样做 - 在下面的代码listDos是对象列表

using (var dataTable = new DataTable(dataTableName))
{
    dataTable.Locale = CultureInfo.CurrentCulture;
    var columns = new[]
        {
             new DataColumn("Id", typeof(int)),
             new DataColumn("FkId", typeof(int)),
             new DataColumn("Status", typeof(string)),
             new DataColumn("RecordFrom", typeof(DateTime))
        };

    dataTable.Columns.AddRange(columns);


    foreach (ObjectDo listDo in listDos)
    {
        var row = dataTable.NewRow();

        if (rebuildDo.Id != null) row["Id"] = rebuildDo.Id;

        if (rebuildDo.FkId!= null) row["FkId"] = rebuildDo.FkId;

        row["Status"] = rebuildDo.Status;

        row["RecordFrom"] = rebuildDo.RecordFrom;

        dataTable.Rows.Add(row);
    }

    return dataTable;
}
Run Code Online (Sandbox Code Playgroud)

c# linq datacontext sqlbulkcopy linqdatasource

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

为什么下面的代码不能用于(null,null)?

我知道Click事件接受一个委托,它获取两个参数类型作为Object和EventArgs,下面的代码适用于任何给定的参数,但为什么下面的代码不能使用(null,null)?它只打印出一个字符串.我给null Object和null 应该没关系EventArgs.(它适用于(foo,bar)或(m,n)例如)

注意:CS1026,CS1002,CS1513错误以逗号引发.

using System.Windows.Forms;

namespace Hello_World
{
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        this.messageButton.Click += (null, null) => MessageBox.Show("Hello");
    }
}
}
Run Code Online (Sandbox Code Playgroud)

c#

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

为什么C#没有限制'构造函数调用必须是构造函数中的第一个语句'

我对java和c#中的构造函数内部构造函数调用感到困惑.

从默认构造函数调用另一个构造函数而不是第一个语句时,Java显示错误

构造函数调用必须是构造函数中的第一个语句

...但C#允许从构造函数的任何语句调用构造函数.

有人可以清楚这个为什么c#允许从默认构造函数中的任何语句行调用另一个构造函数吗?

Java的:

public class A { 
    A()
    {     
        // this(1);// ->> works fine if written here
        System.out.println("1");
        this(1);  //Error: Constructor call must be the first statement in a constructor
    }
    A(int a)
    {
        System.out.println("2");
    }
}
Run Code Online (Sandbox Code Playgroud)

C#:

public class A { 
    public A()
    {     
        Console.WriteLine("Default constructor called");
        new A(1);  
    }
    public A(int a)
    {
        Console.WriteLine("Parametrised constructor called");
    }
}
Run Code Online (Sandbox Code Playgroud)

c# java

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

有没有可能插入新的 SlideMaster?

我正在尝试将幻灯片添加到演示文稿中,但这张幻灯片有不同的主母版(主题、页脚等)。有没有办法使用 Interop.PowerPoint 将新的母版幻灯片添加到演示文稿中?

我研究了官方文档,但没有发现像其他图书馆那样的直接方法,比如 presentation.Masters.Add(newMaster);

c# powerpoint office-interop

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