| Помогите с кодом | 
|  | 
| 
| Sneijder | Дата: Понедельник, 05.09.2011, 21:45 | Сообщение # 1 |  | Начальный Группа: Проверенные Сообщений: 55 Награды: 0 Репутация: 
  
 « 6 » Статус: Offline | пишу прогу ,и мне нужно чтоб при нажатии на определеную картинку появлялась другая картинка,я смог это сделать но как только отпускаешь кнопку изображение пропадаетю Помогите решить проблему(( 
 procedure progi;
 begin
 drawimage(help,0,20);
 end;
 
 procedure menup;
 begin
 drawImage(menu,0,0);
 if(x<40)and(y<20)and(GetKeyPressed=KE_KEY5) then progi
 end;
 |  |  |  |  | 
| 
| 12121 | Дата: Понедельник, 05.09.2011, 23:42 | Сообщение # 2 |  | Программист Группа: Проверенные Сообщений: 357 | Все правильно. После нажатия и показа картинки у тебя выход из программы. Сделай задержку, что ли. 
 Code  if(x<40)and(y<20)and(GetKeyPressed=KE_KEY5) then progi
 delay(50000);
 end;
 
 |  |  |  |  | 
| 
| Nextik | Дата: Вторник, 06.09.2011, 17:34 | Сообщение # 3 |  | Программист Группа: Проверенные Сообщений: 273 Награды: 0 Репутация: 
  
 « 42 » Статус: Offline | 12121, выход из программы и выход из процедуры это ОЧЕНЬ РАЗНЫЕ ПОНЯТИЯ. Sneijder, если я правильно понял тебя, то предлагаю сделать дополнительную переменную например типа boolean. Будет true будет показывать картинку, false - не будет показывать картинку:
 
 Code procedure progi; begin
 drawimage(help,0,20);
 end;
 
 procedure menup;
 begin
 drawImage(menu,0,0);
 if(x<40)and(y<20)and(GetKeyPressed=KE_KEY5) then pokaz:=true
 if pokaz=true then progi
 end;
у этого кода есть свои минусы и плюсы,но это так, коротенько))) я бы сделал немного сложнее:
 
 Code procedure progi; var
 exit:boolean;
 key_clicked:integer;
 begin
 repeat
 if key_clicked=KE_POUND then exit:=true
 key_clicked:=GetKeyClicked;
 drawimage(help,0,20);
 repaint;
 delay(1);
 until exit=true;
 pokaz:=false;
 end;
 
 procedure menup;
 begin
 drawImage(menu,0,0);
 if(x<40)and(y<20)and(GetKeyPressed=KE_KEY5) then pokaz:=true
 if pokaz=true then progi
 end;
 |  |  |  |  | 
| 
| Sneijder | Дата: Вторник, 06.09.2011, 18:06 | Сообщение # 4 |  | Начальный Группа: Проверенные Сообщений: 55 Награды: 0 Репутация: 
  
 « 6 » Статус: Offline | Большое спасибо=) я действительно пробывал boolean. Я делал все и все работало но картинка все равно исчезала. А насчет задержки тоже добавлял провисало сейчас ваш код попробую))) |  |  |  |  | 
| 
| Sneijder | Дата: Вторник, 06.09.2011, 18:20 | Сообщение # 5 |  | Начальный Группа: Проверенные Сообщений: 55 Награды: 0 Репутация: 
  
 « 6 » Статус: Offline | все классно но мышь пропала(( вот весь код 
 
 Сообщение отредактировал Sneijder - Вторник, 06.09.2011, 18:21 |  |  |  |  | 
| 
| Nextik | Дата: Вторник, 06.09.2011, 20:46 | Сообщение # 6 |  | Программист Группа: Проверенные Сообщений: 273 Награды: 0 Репутация: 
  
 « 42 » Статус: Offline | мышка мышка мышка... что ж ты сразу весь код не выложил?)))) ладно, сейчас что-нибудь придумаю)) |  |  |  |  | 
| 
| Nextik | Дата: Вторник, 06.09.2011, 21:13 | Сообщение # 7 |  | Программист Группа: Проверенные Сообщений: 273 Награды: 0 Репутация: 
  
 « 42 » Статус: Offline | ладно, всё довольно таки просто. Вопрос только в том, сумеешь ли ты сделать чтобы картинка исчезала когда ты хочешь)) если нет - дам кусочек сыра... тьфу! кода))) То что я написал первым было твоим решением, и советую поставить задержку в бесконечном цикле после repaint - delay(1) и убрать все остальные, это обеспечит быстродействие твоей программе, сам так делаю, но у меня есть подозрения что даже от этой задержки есть вероятность что процессор устройства очень сильно нагреется, ну для этого люди придумали счётчик FPS иначе бы все процессоры бы посгарали... Я никак не пойму как у тебя картинка при моём первом коде исчезала =/, она сможет исчезнуть если только переменной pokaz задать значение false =/ , ну с этим я надеюсь ты разберешься. Вот твой проект - правильно-работающий))) |  |  |  |  | 
| 
| Sneijder | Дата: Вторник, 06.09.2011, 21:56 | Сообщение # 8 |  | Начальный Группа: Проверенные Сообщений: 55 Награды: 0 Репутация: 
  
 « 6 » Статус: Offline | Благодарю=) |  |  |  |  |