Чет понаписал нифига не понять, одно в другом...
Я немного исправил...
И какого объекта ты хочеш узнать коордитаны?
Если вот у этих кружков которые ты тут рисуеш... так ты же им сам задаеш координаты, ты их просто запоминай где нибудь и будеш знать где и что в данный момент находится...
И из этих же сохраненных координат ты и будеш проверять состыковались они или нет, чтобы нарисовать картинку.
Создай функцию которая этим будет заниматься и вставь ее в главный цикл.
Код:
function mySDL_init_video()
SDL.SDL_BlitSurface = SDL.SDL_UpperBlit;
--Инициализируем SDL
SDL.SDL_Init(SDL.SDL_INIT_VIDEO);
--Закрываем графику DreamShell
--DS.ds_draw_shutdown();
--Устанавливаем видеорежим в 640x480 16 bit
flags = SDL.bit_or(SDL.SDL_HWSURFACE, SDL.SDL_DOUBLEBUF);
screen = SDL.SDL_SetVideoMode(640,480,16,flags);
end
function myPause_and_DS_init_video()
--Пауза в 3 секунды
SDL.SDL_Delay(3000);
--Инициализируем назад графику DreamShell
--DS.ds_draw_init();
end
function myMove(n)
if n < 500 then
--- движение по горизонтали
SDL.SDL_drawCircle_TG(screen, n, 240, 10, 255, 0, SDL.SDL_TG_ANTIALIAS);
SDL.SDL_drawCircle_TG(screen, n-30, 240, 10, 0, 0, SDL.SDL_TG_ANTIALIAS);
-- движение по вертикали
SDL.SDL_drawCircle_TG(screen, 480, n-240, 10, -255, 0, SDL.SDL_TG_ANTIALIAS);
SDL.SDL_drawCircle_TG(screen, 480, n-270, 10, 0, 0, SDL.SDL_TG_ANTIALIAS);
SDL.SDL_Delay(100); -- Задаем скорость перемещения
SDL.SDL_Flip(screen);
end
end
function myMove_general()
mySDL_init_video() --инициализируем SDL и выставляем видео режим
end
function myMove_value()
for i=1, 500, 30 do
myMove(i) -- Вызываем функцию и передаем ей параметры
end
end
myMove_general()
myMove_value() -- Вызываем функцию
myPause_and_DS_init_video() -- пауза на 3 секунд
Да и у тебя и так заканчивается цикл когда 2 кружка стыкуются:))))
Рисуй картинку после этого и все гггггг