Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/16: Рейтинг темы: голосов - 16, средняя оценка - 4.63
Hammer93
1

Рандомное движение PictureBox по форме

22.03.2013, 22:00. Просмотров 2969. Ответов 1
Метки нет (Все метки)

Надо написать программу на с# которая реализовывало бы рандомное движение изображения(форма PictureBox) по форме. Желательно чтобы еще изображение моргало.
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.03.2013, 22:00
Ответы с готовыми решениями:

Движение pictureBox по форме
добрый день, хотелось бы узнать, как реализовать движение pictureBox по форме? private...

Рандомное появление PictureBox
Как реализовать появление PictureBox в случайном месте ? Например: у нас есть панель - panel1 и...

Рандомное расположение PictureBox
Как при нажатии кнопки выбирать случайное расположение picturebox ?

Рандомное движение нарисованного квадратика по форме
Всем привет. Начал изучать язык Python. Появился вопрос, как сделать так чтобы нарисованный мной...

1
904 / 808 / 208
Регистрация: 15.06.2012
Сообщений: 3,186
Записей в блоге: 1
Завершенные тесты: 1
23.03.2013, 02:13 2
Лучший ответ Сообщение было отмечено как решение

Решение

Таймер, в обработке тика ставим смещение по Х,У. Всё.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Timers;
 
namespace WpfApplication1
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        private Timer _timer = new Timer();
        private Image _image;
        private int _timeRun;
        private double _turnX;
        private double _turnY;
        private Random _random = new Random();
 
        public MainWindow()
        {
            InitializeComponent();
 
            this._image = new Image();
            this._image.Source = new BitmapImage(new Uri(@"http://spox.ru/uploads/classification/cards/ball.jpg"));
            this._image.HorizontalAlignment = HorizontalAlignment.Left;
            this._image.VerticalAlignment = VerticalAlignment.Top;
            this._image.Width = 100;
            this._image.Height = 100;
            ((Grid)this.Content).Children.Add(this._image);
 
 
            this._timer.Interval = 100;
            this._timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed);
            this._timer.Start();
 
            this._setRandomRun();
        }
 
        private void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            this.Dispatcher.Invoke(new Action(delegate
            {
                _setPositionPicture();
            }));
            this._timeRun--;
            if (this._timeRun < 0)
            {
                this._setRandomRun();
            }
        }
 
        private void _setRandomRun()
        {
            this._turnX = this._random.Next(-10, 10);
            this._turnY = this._random.Next(-10, 10);
            this._timeRun = this._random.Next(50, 100);
        }
 
        private void _setPositionPicture()
        {
            double x = this._image.Margin.Left + this._turnX;
            double y = this._image.Margin.Top + this._turnY;
 
            if (x < 0)
            {
                x = 0;
                this._turnX *= -1;
            }
            else
            {
                if (x > this.Width - this._image.Width - 12)
                {
                    x = this.Width - this._image.Width - 12;
                    this._turnX *= -1;
                }
            }
 
            if (y < 0)
            {
                y = 0;
                this._turnY *= -1;
            }
            else
            {
                if (y > this.Height - this._image.Height - 32)
                {
                    y = this.Height - this._image.Height - 32;
                    this._turnY *= -1;
                }
            }
            this._image.Margin = new Thickness(x, y, 0, 0);
        }
    }
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.03.2013, 02:13

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Рандомное движение (рыбки)
Здравствуйте! Подскажите пожалуйста, как сделать красивое, плавное, рандомное движение рыбки?

Рандомное появление и движение объектов
Кто подскажет как на форме TImage сделать рандомное появление объекта и его движение по прямой. ...

Рандомное движение рыбки Flash as.3
Нужен программист для создания рандомного движения рыбки. Ваши предложения, и стоимость работы...

Рандомное движение объекта по заданным траекториям
Задача: Обьект должен появиться в одном углу экрана, из этого угла он рандомно идет три других и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.