Пример #1
0
        public static void Animate(MeshDataModel obj, int millisecs, double bx, double by, double bz, double x, double y, double z)
        {
            obj.Transform = new System.Windows.Media.Media3D.TranslateTransform3D(x, y, z);

            var moveAnimationX = new DoubleAnimation
            {
                From        = bx,
                To          = x,
                AutoReverse = false,
                Duration    = TimeSpan.FromMilliseconds(millisecs),
            };
            var moveAnimationY = new DoubleAnimation
            {
                From        = by,
                To          = y,
                AutoReverse = false,
                Duration    = TimeSpan.FromMilliseconds(millisecs),
            };
            var moveAnimationZ = new DoubleAnimation
            {
                From        = bz,
                To          = z,
                AutoReverse = false,
                Duration    = TimeSpan.FromMilliseconds(millisecs),
                //FillBehavior = FillBehavior.Stop,
            };

            obj.Transform.BeginAnimation(System.Windows.Media.Media3D.TranslateTransform3D.OffsetXProperty, moveAnimationX, HandoffBehavior.SnapshotAndReplace);
            obj.Transform.BeginAnimation(System.Windows.Media.Media3D.TranslateTransform3D.OffsetYProperty, moveAnimationY, HandoffBehavior.SnapshotAndReplace);
            obj.Transform.BeginAnimation(System.Windows.Media.Media3D.TranslateTransform3D.OffsetZProperty, moveAnimationZ, HandoffBehavior.SnapshotAndReplace);
        }
Пример #2
0
        public Carrier(int _unit_id, Material mat, double x, double y, double z)
        {
            unit_id = _unit_id;

            StartBrush = mat;

            carrrier          = new MeshDataModel();
            carrrier.Material = mat;
            var b1 = new MeshBuilder();

            b1.AddBox(new SharpDX.Vector3(0, 0, -1f * (float)z / 2f), x + 0.3, 0.3, 0.3);
            b1.AddBox(new SharpDX.Vector3(0, 0, (float)z / 2f), x + 0.3, 0.3, 0.3);
            b1.AddBox(new SharpDX.Vector3(-1f * (float)x / 2f, 0, 0), 0.7, 0.3, z);
            b1.AddBox(new SharpDX.Vector3((float)x / 2f, 0, 0), 0.7, 0.3, z);

            carrrier.Geometry = b1.ToMeshGeometry3D();
            ItemsSource.Add(carrrier);
        }