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

Ваш аккаунт

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

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

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

Помогите разобраться с моей программкой

408
07 декабря 2005 года
Lei fang
265 / / 01.10.2005
Всем привет!
Пожалуйста, помогите мне разобраться с моей программой. Задача написать ездиющую машинку
Проблем несколько
1. При изменении скорости обочины дороги начинают разъезжаться (появляется пустое место между картинками)
2. При достижении края области возможных перемещений машина больше никуда не едет (проблема в условии, но я не могу понять на какое условие его нужно заменить)
Всем зарание спасибо.
6.4K
07 декабря 2005 года
Host
122 / / 22.09.2005
Цитата:
Originally posted by Lei fang
Всем привет!
Пожалуйста, помогите мне разобраться с моей программой. Задача написать ездиющую машинку
Проблем несколько

2. При достижении края области возможных перемещений машина больше никуда не едет (проблема в условии, но я не могу понять на какое условие его нужно заменить)
Всем зарание спасибо.

'Вот в этой процедуре и ставятся ограничения на перемещение
Private Sub change_direction(dx As Integer, dy As Integer)
If x <> 0 And x <> 3600 Then x = x + dx
If y > 2000 And y <> 3840 Then y = y + dy
End Sub



В этой процедуре у тебя не обрабатывается ситуация, когда x равен пограничным значениям, поэтому машинка не перемещается.
Добавь :
If x = 0 Then x = 30
If x = 3600 Then x = 3570
или что-то вроде этого.

Остальное посмотрю дома, т.к. нет под рукой VB6.

408
07 декабря 2005 года
Lei fang
265 / / 01.10.2005
Спасибо Host!
Я знал, что проблема в том, что x и y получаются равными границе и перестают изменяться при нажатии на кнопки, но что-то не догадался, что это можно так легко исправить. Спасибо!

-->Остальное посмотрю дома, т.к. нет под рукой VB6.
Спасибо, вот с первой проблемой очень сложно мне разобраться. Почему-то постепенно координаты начинают смещаться.
6.4K
08 декабря 2005 года
Host
122 / / 22.09.2005
Цитата:
Originally posted by Lei fang

Почему-то постепенно координаты начинают смещаться.



Проблема в том, что координаты обочины привязаны к константам, и к ним же добавляется значение переменной speed, на которую и происходит смещение. Измени в процедуре Timer1_Timer()

 
Код:
...
If image7_top >= 5160 Then image7_top = Image10.Top - Image7.Height
If image8_top >= 5160 Then image8_top = Image11.Top - Image8.Height
If image10_top >= 5160 Then image10_top = Image7.Top - Image10.Height
If image11_top >= 5160 Then image11_top = Image8.Top - Image11.Height
...
408
08 декабря 2005 года
Lei fang
265 / / 01.10.2005
Спасибо Host! Все понял я.
408
08 декабря 2005 года
Lei fang
265 / / 01.10.2005
Помоги Host!
С обочинами все довольно легко было, а вот что делать с полосами разметки? Они тоже начинают разъезжаться! Я максимально упростил все и избавился от всяких ненужных переменных типа image_1_top и т.д Но все равно линии разъезжаются. Какое же можно задать условие для них???
Пожалуйста, помоги!!!
6.4K
09 декабря 2005 года
Host
122 / / 22.09.2005
Цитата:
Originally posted by Lei fang
Помоги Host!
С обочинами все довольно легко было, а вот что делать с полосами разметки? Они тоже начинают разъезжаться! Я максимально упростил все и избавился от всяких ненужных переменных типа image_1_top и т.д Но все равно линии разъезжаются. Какое же можно задать условие для них???
Пожалуйста, помоги!!!



У тебя та же ситуация с полосами, что и с обочиной.
Мне сейчас тяжело видеть всю картину, но из того, что видно из блокнота условие должно быть примерно такое:

If Image1.Top >= 5120 Then Image1.Top = Image2.Top + 780 + Image1.Height

780 - расстояние между полосами.

Для упрощения управления рисунком - Нарисуй дорогу с разделительной полосой и обочиной и перемещай одно изображение целиком, тогда будет полная иллюзия движения машинки - асфальт тоже будет передвигаться.

408
09 декабря 2005 года
Lei fang
265 / / 01.10.2005
-->Для упрощения управления рисунком - Нарисуй дорогу с разделительной полосой и обочиной и перемещай одно изображение целиком, тогда будет полная иллюзия движения машинки - асфальт тоже будет передвигаться.
!!! Спасибо за отличный совет!!!
408
11 декабря 2005 года
Lei fang
265 / / 01.10.2005
Извини, если надоедаю тебе Host, но мог бы ты еще помочь? Я сделал все так как ты сказал, т. е. нарисовал полную трассу с обочинами и разметкой и перемещаю ее. В коде я ничего не менял, за исключением границ пределов перемещения и имен картинок, но теперь все стало жутко тормозить, машинка не слушается, в самом начале, если нажать вверх, то она поедет, но если остановиться, то она больше никуда не едет и еще очень много косяков, неизвестного мне происхождения.
Скажи, пожалуйста, в чем дело. Зарание спасибо.
408
14 декабря 2005 года
Lei fang
265 / / 01.10.2005
Всем привет!
Все, разрулил я с теми проблемками, но теперь у меня новые появились...
Спасибо тебе Host, еще раз за подробный комментарий к той проге. Я постарался сделать так же как и там, но у меня возникают некоторые затруднения, а именно
у него на форму копируется изображение именно из пиктуре бокса, а не то, что у меня (см. вложенный файл) (копируется то, что должно находиться на месте пиктуре бокса (раб. стол, другие окна и т. д)). Как тот парень решил эту проблему?
У меня не получается добиться прозрачности машинки. Вроде я сменил цвета, но все равно ничего не выходит.
Пожалуйста помогите!!!
6.4K
15 декабря 2005 года
Host
122 / / 22.09.2005
Цитата:
Originally posted by Lei fang
Всем привет!
Все, разрулил я с теми проблемками, но теперь у меня новые появились...
Спасибо тебе Host, еще раз за подробный комментарий к той проге. Я постарался сделать так же как и там, но у меня возникают некоторые затруднения, а именно
у него на форму копируется изображение именно из пиктуре бокса, а не то, что у меня (см. вложенный файл) (копируется то, что должно находиться на месте пиктуре бокса (раб. стол, другие окна и т. д)). Как тот парень решил эту проблему?
У меня не получается добиться прозрачности машинки. Вроде я сменил цвета, но все равно ничего не выходит.
Пожалуйста помогите!!!



Обрати внимание, что для прозрачности используется два изображения - картинка и маска.

BitBlt(...,SRCAND) - копируем маску
BitBlt(...,SRCPAINT) - копируем изображение на маску
или BitBlt(...,MERGEPAINT) - копируем изображение на маску, если необходимо инвертировать цвета.

408
15 декабря 2005 года
Lei fang
265 / / 01.10.2005
Спасибо Host!

Теперь у меня отличная машинка получилась))
Но что делать с тем, чтобы на форму копировалась изображение из пиктуре бокса, а не то, что находится над ним?
408
15 декабря 2005 года
Lei fang
265 / / 01.10.2005
Все!!! И с этой проблемой я разобрался! Всем спасибо за помощь!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог