C# 按代码绘制曲线如何使用此代码?
我试图使球的运动曲线化。此代码将直线移动对象并旋转对象,但它不会以曲线运动方式移动C# 按代码绘制曲线如何使用此代码?,c#,.net,actionscript-3,math,curve,C#,.net,Actionscript 3,Math,Curve,我试图使球的运动曲线化。此代码将直线移动对象并旋转对象,但它不会以曲线运动方式移动 if (this.ballstart.hitTestObject(this.back)) { trace("Hit back"); trace("ballstart rotation: " + this.ballstart.rotation); removeEventListener(Event.ENTER_FRAME, update); addEventListener(Even
if (this.ballstart.hitTestObject(this.back)) {
trace("Hit back");
trace("ballstart rotation: " + this.ballstart.rotation);
removeEventListener(Event.ENTER_FRAME, update);
addEventListener(Event.ENTER_FRAME, BowlingScoreClass);
} else {
trace("move to back");
this.ballstart
this.ballstart.rotation -= -30;
//trace("this ballstart rotation: " + this.ballstart.rotation);
this.ballstart.y = this.ballstart.y - speed;
speed = 15;
/*speed = speed + 0.01;*/
if (this.ballstart.y < -height) {
x = Math.sin(this.ballstart.rotation * (Math.PI / 180)) * speed;
y = Math.cos(this.ballstart.rotation * (Math.PI / 180)) * speed * -1;
this.ballstart.x += x;
this.ballstart.y += y;
}
}
问题是y轴速度始终是一个常数(+/-4),因此它将始终创建一条与曲线相反的直线 引入重力变量(g),该变量将改变每帧的y轴速度,然后计算新y位置的位置
yVelocity-=g;
sprite.y+=yVelocity代码>如果下面的答案有效,则使用✓代码>图标
if (sprite.y > 500) {
trace(height);
sprite.y -= 4;
sprite.x += 4;
} else if (sprite.y > 400) {
trace(height);
sprite.y -= 4
sprite.x += 2
} else if(sprite.y > this.height) {
sprite.y -= 4
sprite.x -= 2
}