Вот именно что ему все равно, ему пофиг в какую сторону тебе нужно считать. Он считает цикл с шагом по умолчанию 1, т.е. на возрастание. А в твоем случае от 50 до 0 он вообще не считает т.к. условия не те, тебе нужно ставить
Спасибо, разъяснил. Просто недавно долго работал в Паскале, а там никаких Step -1 для обратного отсчёта не надо (если надо, то я буду матерится долго - найдётся причина многих глюков в моих программах .
Есть возможность осуществить это без апи. Вот пример для людей, которые не любят (или даже ненавидят) апи (в основном дотнетчики):
if picture2.left=picture1.left+picture1.width
C другой стороны изменить picture1 на picture2. А сверху и снизу вместо left и width - юзать top и height.
Спасибо за идею, но совершенно не понятно, зачем надобно в таких случаях юзать API: нижеизложенный вариант, как мне кажется, намного надёжнее (по следствию из xx закона Паркинсона, всё что может заглючить, в самый неподходящий момент заглючит. Всё что не может, кстати, тоже)
долго работал в Паскале, а там никаких 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) - то тебе нужна максимальная скорость выполнения кода, а это именно АПИ.
Так что думай. ))
Кстати насчет скорости... Я на QB как-то делал (вернее пытался сделать) игрушку, ну типа шарик скачет по экрану а его 2 доски отбивают, ну, это, теннис короче. Суть не в этом, я для шарика расчитывал угол падения и отражения при попадании на стену (с геометрией у меня туго, друга запряг с формулами), потом перенес енту прогу на VB6. Учитывая, что было это где-то лет 7 назад и комп был соответствующий ниче не тормозило. А сейчас компы огого... Я думаю с тормозами проблем не будет.
Но проблема есть, при таком подходе с формулами. При столкновении, когда нужно рассчитать угол, прога иногда отказывалась (у меня) выполнять условия (те отражаться), залетал за стену, а потом срабатывало условие, и за стеной начиналось Броуновское движение... Короче через раз...
Люблю демогогию развести из ничего...))))))))
так вот: to и downto в Паскале - это те же Step 1 и Step -1 в басике.
Хм... (спешно убежал править программы на Паскале, тихо матерясь)
Ты же не думаешь, что после компиляции твоя прога будет общаться с процессором на языке Басик???
Нет, конечно, не думаю. Но, как мне кажется, эта лабуда намного короче, а увеличение скорости в игрушке (да, именно её я и пишу) я уже произвожу путём умножения того значения, на которое объект будет смещатся на одну из переменных. Конечно, скорость выполнения кода не так велика, как хотелось-бы, но пользователь в связи с таким исхищрением разницы всё равно не замечает (опробовано на пользователях в лабораторных условиях
А так как я в VB работаю без году неделю , то простая и понятная лабуда мне кажется привлекательней, чем сложный, но правильный код с использованием API.
P.S.
Только юзать она их будет через одно место
У нас в стране всё делается через одно место, так пусть моя программа не будет исключением Шутка юмора, простите, если не удалась.
Фактически - да!
Я уже нашёл на сайте пример, в котором это было сделано в том виде, в каком мне и надо. Кстати, так и выглядел мой первоначальный вариант, только без учёта толщины объекта. Её-то я и упустил. Спасибо за напоминание.
P.S. Решил проблему координат путём переноса всех объектов и кода в другую форму, а старую удалил. Пока вроде не глючит.
я для шарика расчитывал угол падения и отражения при попадании на стену (с геометрией у меня туго, друга запряг с формулами),
У меня тоже с геометрией плохо, и жуть как хочется написать Арканойд, с этими формулами, друг мой не может умом родить формулы - дай хотябы пару просто формул - сделаешь еще одного человека счастливым, а может и не одного...