Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Столкновения PictureBox Добавлено: 03.07.06 17:36  

Автор вопроса:  Wolf4D | Web-сайт: www.madnesstudio.ru

Ответить

  Ответы Всего ответов: 28  

Номер ответа: 16
Автор ответа:
 Wolf4D



Вопросов: 20
Ответов: 131
 Web-сайт: www.madnesstudio.ru
 Профиль | | #16
Добавлено: 06.07.06 23:12
Вот именно что ему все равно, ему пофиг в какую сторону тебе нужно считать. Он считает цикл с шагом по умолчанию 1, т.е. на возрастание. А в твоем случае от 50 до 0 он вообще не считает т.к. условия не те, тебе нужно ставить

Спасибо, разъяснил. Просто недавно долго работал в Паскале, а там никаких Step -1 для обратного отсчёта не надо (если надо, то я буду матерится долго - найдётся причина многих глюков в моих программах :).
Есть возможность осуществить это без апи. Вот пример для людей, которые не любят (или даже ненавидят) апи (в основном дотнетчики:)):
if picture2.left=picture1.left+picture1.width
C другой стороны изменить picture1 на picture2. А сверху и снизу вместо left и width - юзать top и height.

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

Ответить

Номер ответа: 17
Автор ответа:
 Серёга



ICQ: 262809473 

Вопросов: 17
Ответов: 561
 Web-сайт: houselab.narod.ru
 Профиль | | #17
Добавлено: 07.07.06 01:18
долго работал в Паскале, а там никаких Step -1 для обратного отсчёта не надо

Если ты действительно долго работал в Паскале, то ты должен помнить, чем отличается цикл прибывания от цикла убывания:
For i:=1 to 10 do
  begin
  ...
  end

и
For i:=10 downto 1 do
  begin
  ...
  end

так вот: to и downto в Паскале - это те же Step 1 и Step -1 в басике. А ты говоришь "не надо"...

зачем надобно в таких случаях юзать API: нижеизложенный вариант, как мне кажется, намного надёжнее

Ни фига себе! Ты же не думаешь, что после компиляции твоя прога будет общаться с процессором на языке Басик??? Она по-любому будет ЮЗАТЬ АПИ. Только юзать она их будет через одно место(если ты скомпилируешь эту лабуду про Picture1.Height) - соответственно, очень медленно. А если ты пишешь какую - нибудь игруху или чё нить в этом роде (судя по СТОЛКНОВЕНИЯМ PictureBox) - то тебе нужна максимальная скорость выполнения кода, а это именно АПИ.
Так что думай. :)))

Ответить

Номер ответа: 18
Автор ответа:
 avdey



ICQ: 219571279 

Вопросов: 34
Ответов: 486
 Профиль | | #18 Добавлено: 07.07.06 08:59
Кстати насчет скорости... Я на QB как-то делал (вернее пытался сделать) игрушку, ну типа шарик скачет по экрану а его 2 доски отбивают, ну, это, теннис короче. Суть не в этом, я для шарика расчитывал угол падения и отражения при попадании на стену (с геометрией у меня туго, друга запряг с формулами), потом перенес енту прогу на VB6. Учитывая, что было это где-то лет 7 назад и комп был соответствующий ниче не тормозило. А сейчас компы огого... Я думаю с тормозами проблем не будет.
   Но проблема есть, при таком подходе с формулами. При столкновении, когда нужно рассчитать угол, прога иногда отказывалась (у меня) выполнять условия (те отражаться), залетал за стену, а потом срабатывало условие, и за стеной начиналось Броуновское движение... Короче через раз...
Люблю демогогию развести из ничего...))))))))

Ответить

Номер ответа: 19
Автор ответа:
 Wolf4D



Вопросов: 20
Ответов: 131
 Web-сайт: www.madnesstudio.ru
 Профиль | | #19
Добавлено: 07.07.06 13:02
так вот: to и downto в Паскале - это те же Step 1 и Step -1 в басике.

Хм... (спешно убежал править программы на Паскале, тихо матерясь)
Ты же не думаешь, что после компиляции твоя прога будет общаться с процессором на языке Басик???

Нет, конечно, не думаю. Но, как мне кажется, эта лабуда намного короче, а увеличение скорости в игрушке (да, именно её я и пишу) я уже произвожу путём умножения того значения, на которое объект будет смещатся на одну из переменных. Конечно, скорость выполнения кода не так велика, как хотелось-бы, но пользователь в связи с таким исхищрением разницы всё равно не замечает (опробовано на пользователях в лабораторных условиях:)
А так как я в VB работаю без году неделю :), то простая и понятная лабуда мне кажется привлекательней, чем сложный, но правильный код с использованием API.
P.S.
Только юзать она их будет через одно место

У нас в стране всё делается через одно место, так пусть моя программа не будет исключением :) Шутка юмора, простите, если не удалась.

Ответить

Номер ответа: 20
Автор ответа:
 Серёга



ICQ: 262809473 

Вопросов: 17
Ответов: 561
 Web-сайт: houselab.narod.ru
 Профиль | | #20
Добавлено: 07.07.06 17:26
Шутка юмора, простите, если не удалась

- Удалась :)))

Ответить

Номер ответа: 21
Автор ответа:
 LeX



ICQ: 301424893 

Вопросов: 28
Ответов: 277
 Web-сайт: www.vbkoders.info
 Профиль | | #21
Добавлено: 07.07.06 17:48
Так все таки мой вариант оценили? :-)

Ответить

Номер ответа: 22
Автор ответа:
 Wolf4D



Вопросов: 20
Ответов: 131
 Web-сайт: www.madnesstudio.ru
 Профиль | | #22
Добавлено: 07.07.06 18:25
Так все таки мой вариант оценили? :-)

Фактически - да!
Я уже нашёл на сайте пример, в котором это было сделано в том виде, в каком мне и надо. Кстати, так и выглядел мой первоначальный вариант, только без учёта толщины объекта. Её-то я и упустил. Спасибо за напоминание.
P.S. Решил проблему координат путём переноса всех объектов и кода в другую форму, а старую удалил. Пока вроде не глючит.

Ответить

Номер ответа: 23
Автор ответа:
 Серёга



ICQ: 262809473 

Вопросов: 17
Ответов: 561
 Web-сайт: houselab.narod.ru
 Профиль | | #23
Добавлено: 07.07.06 22:20
Wolf4D, а какую игру ты пишешь? (если не секрет) :)))))))))))))

Ответить

Номер ответа: 24
Автор ответа:
 Wolf4D



Вопросов: 20
Ответов: 131
 Web-сайт: www.madnesstudio.ru
 Профиль | | #24
Добавлено: 09.07.06 00:05
Не секрет. Змейку. Сделана на 75%: не доделаны уровни и часть бонусов
Потом могу выложить.

Ответить

Номер ответа: 25
Автор ответа:
 avdey



ICQ: 219571279 

Вопросов: 34
Ответов: 486
 Профиль | | #25 Добавлено: 10.07.06 11:05
Гыыы...
Змейка прикольная игрушка. Я ее на QBasice делал. Скажи когда выложишь, заценить хочется...

Ответить

Номер ответа: 26
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #26 Добавлено: 10.07.06 12:14
да, я тоже хочу заценить

Ответить

Номер ответа: 27
Автор ответа:
 Nj



ICQ: 223663115 

Вопросов: 21
Ответов: 285
 Профиль | | #27 Добавлено: 11.07.06 22:07
2 avdey
я для шарика расчитывал угол падения и отражения при попадании на стену (с геометрией у меня туго, друга запряг с формулами),
У меня тоже с геометрией плохо, и жуть как хочется написать Арканойд, с этими формулами, друг мой не может умом родить формулы - дай хотябы пару просто формул - сделаешь еще одного человека счастливым, а может и не одного...

Ответить

Номер ответа: 28
Автор ответа:
 Nj



ICQ: 223663115 

Вопросов: 21
Ответов: 285
 Профиль | | #28 Добавлено: 11.07.06 22:09
Ах да, забыл: ПОЖАЛУЙСТА! s-7-s[dog]yandex.ru

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам