Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Перемещение Shape по форме.КАК?

13K
13 февраля 2009 года
karimchik
65 / / 16.06.2008
Я хочу создать игру,но необхадимо перемещять Shape по форме при помощи кнопки.Кто нить подскажет какой код должен быть в кнопке???
1.9K
13 февраля 2009 года
GreenRiver
451 / / 20.07.2008
Цитата: karimchik
Я хочу создать игру,но необхадимо перемещять Shape по форме при помощи кнопки.Кто нить подскажет какой код должен быть в кнопке???


 
Код:
Shape.Left += x;
Shape.Top += y;

Это имешь ввиду?
842
13 февраля 2009 года
sigmov
301 / / 16.09.2008
Язык какой?
VB.NET, Delphi, C#, MFC;

Но в принципе общий совет:
Обработай событие KeyDown.

Пример на C#
Код:
private void InitializeComponent()
        {
            this.SuspendLayout();
            // Form1
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(292, 271);
            this.Name = "Form1";
            this.Text = "Form1";
            this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Form1_KeyDown);
            this.ResumeLayout(false);

        }

Код:
private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            MessageBox.Show(e.KeyCode.ToString());
            if(e.KeyCode==Keys.Up)
            { /*....*/}
            else if(e.KeyCode==Keys.Down)
            { /*....*/}
            else if(e.KeyCode==Keys.Left)
            { /*....*/}
            else if(e.KeyCode==Keys.Right)
            { /*....*/}
        }
46K
13 февраля 2009 года
B-F-G
3 / / 11.02.2009
C# код
Код:
private void Form2_KeyDown(object sender, KeyEventArgs e)
        {
            int xoffset = 0, yoffset = 0;
            int delta = 5;
            switch (e.KeyCode)
            {
                case Keys.Up:
                    yoffset -= delta;
                    break;
                case Keys.Down:
                    yoffset += delta;
                    break;
                case Keys.Left:
                    xoffset -= delta;
                    break;
                case Keys.Right:
                    xoffset += delta;
                    break;
            }
            UpdateShapeLocation(xoffset, yoffset);
        }

        private void UpdateShapeLocation(int xoffset, int yoffset)
        {
            Point loc = shape.Location;
            shape.Location = new Point(loc.X + xoffset, loc.Y + yoffset);
        }
255
13 февраля 2009 года
Dart Bobr
1.4K / / 09.04.2004
sigmov
не распространяте антинауку. MFC - не язык.
А Дельфи и вб обсуждались бы в другом разделе.
13K
15 февраля 2009 года
karimchik
65 / / 16.06.2008
Язык borland c++ builder 6.
13K
15 февраля 2009 года
karimchik
65 / / 16.06.2008
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Shape1->Left + 2;
}

Попробовал вот это... но не хочет(((
Повторяю язык borland c++ builder 6.
1.9K
15 февраля 2009 года
GreenRiver
451 / / 20.07.2008
Цитата: karimchik
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Shape1->Left + 2;
}

Попробовал вот это... но не хочет(((
Повторяю язык borland c++ builder 6.



Жжешь :) пиши ещё :)

Надо так: Shape1->Left += 2;
или так: Shape1->Left = Shape1->Left + 2;

А лучше почитай книги по программированию ... потому что такое писать, это надо совсем ничего не понимать...

13K
15 февраля 2009 года
karimchik
65 / / 16.06.2008
GreenRiver Огроменное спасибо!!!!Зароботало!Я книги читаю,просто ещё не твоего уровня))И ещё вопросик))Надо сделать колюжен детекшен!Наскока я понял нужно сделать условие.Например -
if (Shape1 == Shape2)
конечно нужно указывать грани шейпа тока ненаю каким кодом!Помоги плизз!
1.9K
15 февраля 2009 года
GreenRiver
451 / / 20.07.2008
Цитата: karimchik
GreenRiver Огроменное спасибо!!!!Зароботало!Я книги читаю,просто ещё не твоего уровня))И ещё вопросик))Надо сделать колюжен детекшен!Наскока я понял нужно сделать условие.Например -
if (Shape1 == Shape2)
конечно нужно указывать грани шейпа тока ненаю каким кодом!Помоги плизз!


Пользуйся гуглом. Достаточно запроса типа: "проверка пересечения прямоугольников"... Там куча примеров кода...

P.S. вообще такие темы надо поднимать в разделе "для новичков"... у этого форума есть правила и стоит их уважать. За намного более сложные вопросы порой отправляли курить мануалы!

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог