返回首页

所以,这只是一个有趣的3D应用程序,我想使用WPF创建。

它是一个应用程序的三维动画类。后ardous搜索,我终于想出一个办法,在WPF中创建三维网球。我创建了一个方法,它的x,y,z位置,大小等,作为参数。

我在我的代码,称为该方法的两倍,因此有两个网球,我的屏幕上。{S0的} ..我已经给这两个球的初始位置为(0,0,0)和(3,3 3)。现在,我想根据我给的职位动画。基本上,我想追逐的第一球,第二球,但它永远不能赶上第一。;)

我已经写了一小块代码(如下),可以给我两个球的新岗位,每一个for循环执行时。我假设,我将获得100个新职位,根据第一循环?第二循环将执行两次有两个网球,并存储在数组中的位置?

每次第一个循环执行,我希望新的位置将被传递给这两个球,我想使球移动,并使其连续动画。我没有任何想法如何做到这一点,我从来没有做过任何三维动画在WPF以前。

我是一个初学者,所以请去解释技术概念时,我很容易。我将不胜感激任何插图,示例和教程。

/ /位置发电机

(帧= 0; framelt; 100; I)
{
为(研究= 0; JLT; 2,j)条
{
xposition [J] = xposition [J];
yposition [J] = yposition [J];
zposition [J] = zposition [J];
}
}
谢谢

回答

评论会员:游客 时间:2012/02/04
TheyCallMeMrJames:。其实,这个简单的动画有没有必要预先计算未来的100个职位创建一个计时器,激发每一个30ms的(约30帧/秒,让你),并计算新的位置。你要保持当前的载体变量。每次更新这些计时器刻度。绑定你在你的类的数据,这些元素的位置。你可以找到丰富的CP(当然在Google上一吨以上)的绑定信息。欢呼
steersteer
评论会员:游客 时间:2012/02/04
我尝试使用WPFdispatchertimer类。我畏惧,这个过程似乎并不为我的目的。输出不能很好地工作,我不能动画它。我想使我的项目的属性通过使用translatetransform3D什么的动画。我不是预先计算任何时刻。有3个X,Y和Z坐标的数组。X[0]将有x球-1和x[1]的位置,将有球2的x位置和同样的Y和Z阵列。x[0],x[1]等的价值经常使用一个简单的方法,其中包含环路内的一些计算将改变。我想使用这些值(位置),将作为网球的新职位。动画应该执行相应的功能更新的位置。(可以作为抵销translatetransform3d使用这些新职位?)的动画要结束时,在该方法中的循环终止。我已经做了相当多的基于定时器的动画,基于帧的动画和财产为基础的动画使用C#/WPF的阅读了很多,但到目前为止,我还没有发现任何有用的事情。有几个解决方案,但他们都为2D对象。我已经做了我在C#中的工作并没有那么多使用XAML。请解决我的问题