C# XNA中的系统图
我目前正在使用XNA和VS2010进行2D弹球游戏,遇到了一些问题 首先,我有两个桨,每个桨都有一个包围盒。就我所知,除非使用draw方法,否则不可能旋转矩形。但是,这种类型的旋转不起作用,因为矩形尺寸实际上没有移动,所以正在绘制矩形尺寸 然后我继续使用lines,在尝试实现System.Drawing时,为了使用钢笔工具,我发现名称空间不存在C# XNA中的系统图,c#,namespaces,xna-4.0,C#,Namespaces,Xna 4.0,我目前正在使用XNA和VS2010进行2D弹球游戏,遇到了一些问题 首先,我有两个桨,每个桨都有一个包围盒。就我所知,除非使用draw方法,否则不可能旋转矩形。但是,这种类型的旋转不起作用,因为矩形尺寸实际上没有移动,所以正在绘制矩形尺寸 然后我继续使用lines,在尝试实现System.Drawing时,为了使用钢笔工具,我发现名称空间不存在 建议?听起来你混淆了实际游戏中的拨片/矩形元素及其绘制到屏幕上的图像 担心你的游戏如何进行,球拍、球等如何移动和旋转,然后绘制相应的图像进行匹配 也可以
建议?听起来你混淆了实际游戏中的拨片/矩形元素及其绘制到屏幕上的图像 担心你的游戏如何进行,球拍、球等如何移动和旋转,然后绘制相应的图像进行匹配
也可以考虑发布代码,如果你有问题。
对不起,不是一个答案,而是一个编辑。我还没有足够的分数来编辑你的问题,但是单词包装的代码让我感到困惑。缩进至少4个空格,使其自动识别为代码。而且,你似乎遗漏了一部分 public void RotL(float gametime)
{
rotAngle += (gametime * speed);
rotAngle = rotAngle % CIRCLE_IN_DEGREES;
rads = rotAngle * (Math.PI / 180);
if (rotAngle <= MAX_ROT)
{
rotAngle = MAX_ROT;
speed = 1.0F;
Endpoint.X = (float)(PADDLE_WID * Math.Cos(MAX_RADS));
Endpoint.Y = (float)(PADDLE_WID * Math.Sin(MAX_RADS));
}
else if (rotAngle >= INIT_ROT)
{
data manipulation that mirrors the previous if clause, replacing MAX_RADS with INIT_RADS
}
else
{
speed += 0.45F;
Endpoint.X = (float)(PADDLE_WID * Math.Cos(rads));
Endpoint.Y = (float)(PADDLE_WID * Math.Sin(rads));
}
public void RotL(浮动游戏时间)
{
旋转角度+=(游戏时间*速度);
旋转角度=旋转角度%圆(单位:度);
rads=旋转角度*(数学PI/180);
如果(旋转角度=初始旋转)
{
镜像上一个if子句的数据操作,用INIT_RADS替换MAX_RADS
}
其他的
{
速度+=0.45F;
Endpoint.X=(float)(patle_WID*Math.Cos(rads));
端点Y=(浮动)(桨宽*数学Sin(rads));
}
欢迎使用StackOverflow。您应该发布一些代码,向我们展示您迄今为止所做的尝试。@Nick在一个桨类中,我有单独的功能来旋转左/右桨。@Nickpublic void RotL(浮动游戏时间){rotAngle+=(游戏时间*速度);rotAngle=rotAngle%CIRCLE_(以度为单位);rads=rotAngle*(Math.PI/180);如果(rotAngle=INIT_ROT){与前面的if子句相一致的数据操作,用INIT_RADS替换MAX_RADS}else{speed+=0.45F;Endpoint.X=(float)(blade_WID*Math.Cos(RADS));Endpoint.Y=(float)(blade_WID*Math.Sin(RADS));}
My code至今@Nickpublic void RotL(float gametime){rotAngle+=(float gametime*speed);rotAngle=rotAngle%CIRCLE_,单位为_度;rads=rotAngle*(Math.PI/180);if(rotAngle=INIT_ROT){镜像前面的if子句的数据操作,用INIT_rads替换MAX_rads}否则{speed+=0.45F;Endpoint.X=(float)(blade_WID*Math.Cos(rads));Endpoint.Y=(float)(blade_WID*Math.Sin(rads))})
@user2344574编辑上面的问题。以“Edit:”开头,然后用代码格式发布代码。不要使用那些Caps变量。通常C#跟在camelCase和PascalCase后面。