示例#1
0
        public ScenePainter(DynamicCase scene)
        {
            Scene = scene;
            Pen spherePen         = new Pen(Brushes.DarkGray, 2);
            Pen selectedSpherePen = new Pen(Brushes.Black, 2);

            foreach (Sphere3d @object in scene.Spheres)
            {
                PaintableSphere3d paintableSphere = new PaintableSphere3d(@object, spherePen);
                Objects.Add(paintableSphere);
            }

            Objects.Add(new CollisionPainter(scene.Spheres));
            PaintableSphere3d selectedSphere = null;

            OnKeyDown = (KeyEventArgs keys) =>
            {
            };

            Vector3d mousePosition = new Vector3d();

            OnMouseMove = (MouseEventArgs e) =>
            {
                return(false);
            };
        }
示例#2
0
        protected override void OnKeyDown(KeyEventArgs keys)
        {
            switch (keys.KeyCode)
            {
            case Keys.D1:
                if (selectedSphere != null)
                {
                    selectedSphere.Pen = spherePen;
                }

                selectedSphere = formScene.Objects[0] as PaintableSphere3d;
                break;

            case Keys.D2:
                if (selectedSphere != null)
                {
                    selectedSphere.Pen = spherePen;
                }

                selectedSphere = formScene.Objects[1] as PaintableSphere3d;
                break;

            case Keys.D3:
                if (selectedSphere != null)
                {
                    selectedSphere.Pen = spherePen;
                }

                selectedSphere = formScene.Objects[2] as PaintableSphere3d;
                break;

            case Keys.D0:
                selectedSphere = null;
                break;
            }

            if (selectedSphere != null)
            {
                selectedSphere.Pen = selectedSpherePen;
            }

            Refresh();
        }