Всем привет.
Постараюсь объяснить ситуцию.
Я решил написать крестики нолики. Но это маловажно.
При запуске моего кода все работает как надо. Но через некоторое время окно программы просто напросто зависает и ни чего кроме аварийного закрытия не сделать.
Вот сам код. Подскажите может есть какие функции которые раскачают программу от зависания?
InitSprite() InitKeyboard() InitMouse() OpenWindow(0, 150, 150, 300, 350, "gCrozero") OpenWindowedScreen(WindowID(0), 0, 50, 300, 300, 0, 0, 0) UsePNGImageDecoder() LoadImage(0, "C:\pen.png") Procedure dBack(); Рисование клеточек и поля. Box(0,0,300,300, RGB(230,230,230)) x.l=10 lineColor=RGB(120, 180, 250) For i=0 To 30 Step 1 If x=260 Line(x,0, 1, 300, RGB(180, 25,25)) x+10 EndIf Line(x,0, 1, 300, lineColor) x+10 Next y.l=10 For i=0 To 30 Step 1 Line(0, y, 300, 1, lineColor) y+10 Next EndProcedure Repeat ExamineKeyboard() ExamineMouse() FlipBuffers() ;ClearScreen(RGB(0,0,0)) mxc.l=MouseX() myc.l=MouseY() StartDrawing(ScreenOutput()) dBack() DrawAlphaImage(ImageID(0), mxc, myc-50);Отобразить ручку StopDrawing() Delay(1) Until KeyboardPushed(#PB_Key_Escape)
Есть предположение что нужно что то выгрузить. Как бы перегружается память программы. А что здесь выгружать? Добавлял ClearScreen() ни чего не изменилось. да они и не причем. Раньше писал программу в которой шарики прыгали под законом физики. Прыгали спокойно ни чего не зависало пока курсор за окно не вывести.
В общем скорее всего виснет из за того что курсор выходить за границы(условно).
Вот ссылка на Ютуб. Там наглядно видно что после нескольких кликов мыши зависает. Иногда зависает когда случайно делаю Drag мыши по полю.
Видео
Отредактировано TantumCapitis (01.09.2012 05:56:20)