Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя
Показано с 21 по 30 из 42

Тема: Processing 1.0.9

  1. #21
    Продвинутый Аватар для Pinin
    Регистрация
    04.01.2009
    Возраст
    59
    Сообщений
    213
    Вес репутации
    231

    По умолчанию Re: Processing 1.0.9

    2 AlexNS

    Спасибо!
    Первый вариант громоздок, второй вроде бы пробовал - видимо не прокатило, т.к. остановился на алфавите, таки да...

    2 Chip

    Да, это я уже понял - методом научного тыка, но все равно - спасибо!

    export application и использую - экзешник-то создается, но ругается сначала на ненайденный javaw.exe, а потом еще и :

    "Error calling ShellExecuteEx()"

  2. #22
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,379
    Вес репутации
    10

    По умолчанию Re: Processing 1.0.9

    Java установил?

  3. #23
    Продвинутый Аватар для Pinin
    Регистрация
    04.01.2009
    Возраст
    59
    Сообщений
    213
    Вес репутации
    231

    По умолчанию Re: Processing 1.0.9

    А-а-а, шит!
    Нет - полагал, что раз софтина его активно юзает, сама поставить должна была...
    Благодарствую!

  4. #24
    Продвинутый Аватар для Pinin
    Регистрация
    04.01.2009
    Возраст
    59
    Сообщений
    213
    Вес репутации
    231

    По умолчанию Re: Processing 1.0.9

    Написал прожку для RR (в аттаче), но есть некоторые странности в ее работе, понять которые не могу:

    В СОМ-порт данные шлет исправно, с графическим интерфейсом непонятки - почему-то не подгружаются изображения некоторых нажатых кнопок (MENU, MUTE, VOL-) при нажатии на кнопку HW подгружается изображение VOL-, да и определение области клика мыши гуляет необъяснимым образом - можно кликнуть ниже кнопки DIM, т.е. явно вне пределов ее области - кнопка нажмется все равно...

    И это при том, что файлы изображений, области кнопок и т.п. прописаны корректно... Или мне это только кажется, что корректно?
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	BG.jpg 
Просмотров:	319 
Размер:	64.4 Кб 
ID:	7353  
    Вложения Вложения
    Последний раз редактировалось Pinin; 28.01.2010 в 13:21.

  5. #25
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,379
    Вес репутации
    10

    По умолчанию Re: Processing 1.0.9

    Подправил твои ошибки.
    А вообще можно было бы 3 картинками обойтись.
    Надписи на кнопках текстом сделать и нажатие кнопок без фиксации
    PHP код:
    import processing.serial.*;  
    Serial port
    int x,y,x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6,w1,h1,w6,h6;
    boolean stat0,stat1,stat2,stat3,stat4,stat5,stat6;

    PImage bs;     // Все кнопки не нажаты
    PImage dw;     // Все кнопки не нажаты, нажата "DIM"
    PImage dw1;    // Все кнопки не нажаты, нажата "MENU"
    PImage dw2;    // Все кнопки не нажаты, нажата "MUTE"
    PImage dw3;    // Все кнопки не нажаты, нажата "HW/CITY"
    PImage dw4;    // Все кнопки не нажаты, нажата "VOL_UP"
    PImage dw5;    // Все кнопки не нажаты, нажата "VOL_DOWN"
    PImage dw6;    // Все кнопки не нажаты, нажата "ПИТАНИЕ"
    PImage bs1;
    PImage bs6;

    void setup()
    {
      
    port = new Serial(this"COM8"115200); // Прописываем COM-порт на котором у вас сидит Carduino
      
      
    size(800600);           //размер окна
        
      
    bs loadImage("BG.jpg");             //загрузить все кнопки ненажатыми
      
    dw loadImage("DIM_down.jpg");       //загрузить изображение с нажатой кнопкой "DIM"
      
    bs1 loadImage("DIM_down.jpg");      //загрузить изображение малой кнопки
      
    dw1 loadImage("MENU_down.jpg");     //загрузить изображение с нажатой кнопкой "MENU"
      
    dw2 loadImage("MUTE_down.jpg");     //загрузить изображение с нажатой кнопкой "MUTE"
      
    dw3 loadImage("HW_down.jpg");       //загрузить изображение с нажатой кнопкой "HW/CITY"
      
    dw4 loadImage("VOL_UP_down.jpg");   //загрузить изображение с нажатой кнопкой "VOL_UP"
      
    dw5 loadImage("VOL_DOWN_down.jpg"); //загрузить изображение с нажатой кнопкой "VOL_DOWN"
      
    bs6 loadImage("DIM_down.jpg");      // загрузить изображение большой кнопки
      
    dw6 loadImage("7_down.jpg");        //загрузить изображение с нажатой кнопкой "ПИТАНИЕ"
      
    w1 140;          // Размер малой кнопки по горизонтали
      
    h1 50;         // Размер  малой кнопки по вертикали
      
    w6 100;          // Размер большой кнопки по горизонтали
      
    h6 90;         // Размер большой кнопки по вертикали
      
    17;      // Х начальная координата кнопки "DIM"
      
    472;     // y начальная координата кнопки "DIM"
      
    x1167;     // Х начальная координата кнопки "MENU"
      
    y1472;     // y начальная координата кнопки "MENU"
      
    x2321;     // Х начальная координата кнопки "MUTE"
      
    y2472;     // y начальная координата кнопки "MUTE"
      
    x3471;     // Х начальная координата кнопки "HW/CITY"
      
    y3472;     // y начальная координата кнопки "HW/CITY"
      
    x4170;     // Х начальная координата кнопки "VOL_UP"
      
    y4395;     // y начальная координата кнопки "VOL_UP"
      
    x5321;     // Х начальная координата кнопки "VOL_DOWN"
      
    y5395;     // y начальная координата кнопки "VOL_DOWN"
      
    x6682;     // Х начальная координата кнопки "ПИТАНИЕ"
      
    y6435;     // y начальная координата кнопки "ПИТАНИЕ"
      
    image(bs,0,0);      // Нарисовать в окне  все кнопки ненажатыми
      
    }

    void draw()
    {  
      
      if( 
    mousePressed)
       {  
    // Проверка нажатия в области "DIM"
         
    if ( mouseX >= && mouseX <= w1 && mouseY >= && mouseY <= h1)
         {  
          
    stat0=!stat0;              
          if (
    stat0) {port.write('1'); image(dw00); } // загрузить изображение с нажатой кнопкой "DIM"
          
    if (!stat0) {port.write('0'); image(bs00);}      //   
         
    }
         
    // Проверка нажатия в области "MENU"
          
    if (mouseX >= x1 && mouseX <= x1 w1 && mouseY >= y1 && mouseY <= y1 h1)
         {  
          
    stat1=!stat1;              
          if (
    stat1) {port.write('3'); image(dw100); } // загрузить изображение с нажатой кнопкой "MENU"
          
    if (!stat1) {port.write('2'); image(bs00);}      //    
         

         
    // Проверка нажатия в области "MUTE"
         
    if (mouseX >= x2 && mouseX <= x2 w1 && mouseY >= y2 && mouseY <= y2 h1)
         {  
          
    stat2=!stat2;              
          if (
    stat2) {port.write('5'); image(dw200); } // загрузить изображение с нажатой кнопкой "MUTE"
          
    if (!stat2) {port.write('4'); image(bs00);}      //   
         

         
    // Проверка нажатия в области "HW/CITY"
         
    if (mouseX >= x3 && mouseX <= x3 w1 && mouseY >= y3 && mouseY <= y3 h1)
         {  
          
    stat3=!stat3;              
          if (
    stat3) {port.write('7'); image(dw300); } // загрузить изображение с нажатой кнопкой "HW/CITY"
          
    if (!stat3) {port.write('6'); image(bs00);}      //    
         

         
    // Проверка нажатия в области "VOL_UP"
         
    if (mouseX >= x4 && mouseX <= x4 w1 && mouseY >= y4 && mouseY <= y4 h1)
         {  
          
    stat4=!stat4;              
          if (
    stat4) {port.write('9'); image(dw400); } // загрузить изображение с нажатой кнопкой "VOL_UP"
          
    if (!stat4) {port.write('8'); image(bs00);}      //    
         

         
    // Проверка нажатия в области "VOL_DOWN"
         
    if (mouseX >= x5 && mouseX <= x5 w1 && mouseY >= y5 && mouseY <= y5 h1)
         {  
          
    stat5=!stat5;              
          if (
    stat5) {port.write('b'); image(dw500); } // загрузить изображение с нажатой кнопкой "VOL_DOWN"
          
    if (!stat5) {port.write('a'); image(bs00);}      //   
         

         
    // Проверка нажатия в области "ПИТАНИЕ"
         
    if (mouseX >= x6 && mouseX <= x6 w6 && mouseY >= y6 && mouseY <= y6 h6)
         {  
          
    stat6=!stat6;              
          if (
    stat6) {port.write('d'); image(dw600); } // загрузить изображение с нажатой кнопкой "ПИТАНИЕ"
          
    if (!stat6) {port.write('c'); image(bs00);}      //    
         

         
         
    delay(200); 
       }  

    Последний раз редактировалось Chip; 28.01.2010 в 13:52.

  6. #26
    Продвинутый Аватар для Pinin
    Регистрация
    04.01.2009
    Возраст
    59
    Сообщений
    213
    Вес репутации
    231

    По умолчанию Re: Processing 1.0.9

    Сенкс, сейчас проанализирую, где облажался...



    Ну, с
    PHP код:
    boolean stat0,stat1,stat2,... 
    разобрался - в общем-то, логично: областей-то для анализа должно быть столько же, сколько и кнопок...

    Что-то не вкурю пока, как можно было обойтись тремя картинками (ну, то есть то, что есть вариант аналогично тому, как это в RR организовано - понятно. Не очень понятно - как...)

    Так же не очень понял пока, как задать нажатие без фиксации (а она действительно не нужна...)
    Последний раз редактировалось Pinin; 28.01.2010 в 16:00.

  7. #27
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,379
    Вес репутации
    10

    По умолчанию Re: Processing 1.0.9

    Статус кнопки stats, был у всех один , а размер кнопок указал на все окно
    Последний раз редактировалось Chip; 28.01.2010 в 15:29.

  8. #28
    Продвинутый Аватар для Pinin
    Регистрация
    04.01.2009
    Возраст
    59
    Сообщений
    213
    Вес репутации
    231

    По умолчанию Re: Processing 1.0.9

    Что-то никак я не въеду вот в этот пассаж:

    PHP код:
     stat0=!stat0
    Если я правильно понимаю, параметр stat0 определяется выражением

    PHP код:
    mouseX >= && mouseX <= w1 && mouseY >= && mouseY <= h1 
    (во всяком случае, ни в каком другом месте его географической привязки нет, выше он просто объявлен...). Дальше по тексту тоже вроде все логично:

    PHP код:
    if (stat0)...
    if (!
    stat0)... 
    А вот что значит " А не А" ?!.

  9. #29
    Пользователь
    Регистрация
    27.09.2009
    Возраст
    37
    Сообщений
    26
    Вес репутации
    191

    По умолчанию Re: Processing 1.0.9

    Цитата Сообщение от Pinin Посмотреть сообщение
    А вот что значит " А не А" ?!.
    приведите пример кода, попробую объяснить,

  10. #30
    Продвинутый Аватар для Pinin
    Регистрация
    04.01.2009
    Возраст
    59
    Сообщений
    213
    Вес репутации
    231

    По умолчанию Re: Processing 1.0.9

    Дык, примеров-то целый листинг несколькими постами выше

    Вот кусок:

    PHP код:
    if( mousePressed)
       {  
    // Проверка нажатия в области "DIM"
         
    if ( mouseX >= && mouseX <= w1 && mouseY >= && mouseY <= h1)
         {  
          
    stat0=!stat0;              
          if (
    stat0) {port.write('1'); image(dw00); } // загрузить изображение с нажатой кнопкой "DIM"
          
    if (!stat0) {port.write('0'); image(bs00);}      //   
         

    Может быть еще удастся разобраться, как сделать так, чтобы избавиться от фиксации кнопки...

Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •