|  | 
     
	
	
		| Программирование для PSP Вы программист? Welcome сюда... |  
	
	
		
	
	
	
		|  13.10.2009, 01:32 | Сообщение: #1 (831111) |  
	| 
 
  
			
				Регистрация: 07.07.2009 Возраст: 37 
					Сообщений: 7
				 Вы сказали Спасибо: 0 
		
			
				Поблагодарили 0 раз(а) в 0 сообщениях
			
		
	 Сила репутации: 0 Репутация: 0 
					(пока ничем не отличился)
      | 
				 Помогите разобраться.. 
 
	
		Я новичек в этом деле, но никак не могу получить обработку кнопок в prx плагине, если на этом сайте есть человек который может помочь, пожалуйста ответе... а если есть возможность то просто выложите код prx плагина который при нажатие на оба тригера пишет на экране например hello world.. заранее большое спасибо.. 
 |  
	|  |       |  
	
		
	
	
	
		|  13.10.2009, 01:39 | Сообщение: #2 (831112) |  
	| 
 
  
			
Прошивка: 5.50 gen-c Другие консоли: PS3(CECHC 60Gb), DS lite, x360(20Gb/120Gb) Регистрация: 11.05.2007 Возраст: 44 
					Сообщений: 2,509
				 Вы сказали Спасибо: 337 
		
			
				Поблагодарили 991 раз(а) в 579 сообщениях
			
		
	 Сила репутации: 1 Репутация: 951 
					(это имя известно всем)
      | 
 
	
		Опрос кнопок по таймеру не работает? 
	int InputThread(SceSize args, void *argp)
{
	while(run)
	{	
		sceCtrlPeekBufferPositive(&pad, 1);
		sceKernelDelayThread(1);	
				
				if (pad.Buttons & PSP_CTRL_HOME)
					run = 0;
	}
	
return 0;
}
void SetupInput( void)
{
SceUID itid = sceKernelCreateThread("Input thread",
InputThread,
0x18, 256 * 1024, PSP_THREAD_ATTR_USER, 0);
if (itid >= 0)
	sceKernelStartThread(itid, 0, 0);
}
 			 
 Последний раз редактировалось l3VGV; 13.10.2009 в 01:41.
 
 |  
	|  |       |  
	
		
	
	
	
		|  13.10.2009, 01:42 | Сообщение: #3 (831113) |  
	| 
 
  
			
				Регистрация: 07.07.2009 Возраст: 37 
					Сообщений: 7
				 Вы сказали Спасибо: 0 
		
			
				Поблагодарили 0 раз(а) в 0 сообщениях
			
		
	 Сила репутации: 0 Репутация: 0 
					(пока ничем не отличился)
      | 
 
	
		хм... опрос по таймеру это как перерыл кучу примеров но по таймеру не видел..самый обычный способ.. проверка SceCtrlData pad; if (pad.Buttons != 0) и так далее...
 			 
 Последний раз редактировалось LeshiyGS; 13.10.2009 в 01:43.
 
 |  
	|  |       |  
	
		
	
	
	
		|  13.10.2009, 01:45 | Сообщение: #4 (831114) |  
	| 
 
  
			
Прошивка: 5.50 gen-c Другие консоли: PS3(CECHC 60Gb), DS lite, x360(20Gb/120Gb) Регистрация: 11.05.2007 Возраст: 44 
					Сообщений: 2,509
				 Вы сказали Спасибо: 337 
		
			
				Поблагодарили 991 раз(а) в 579 сообщениях
			
		
	 Сила репутации: 1 Репутация: 951 
					(это имя известно всем)
      | 
 
	
		ну вот я тебе кусок кода дал. вызываешь сетуп инпут в начале работы модуля, а там пишешь что надо в глобальные переменные. ну а потом гдето в основном потоке из проверяешь. можно и без отдельного потока, но тогда во время  тяжёлой работы система не будет реагировать на кнопки. а это бесит. 
 |  
	|  |       |  
	
		
	
	
	
		|  13.10.2009, 01:47 | Сообщение: #5 (831115) |  
	| 
 
  
			
				Регистрация: 07.07.2009 Возраст: 37 
					Сообщений: 7
				 Вы сказали Спасибо: 0 
		
			
				Поблагодарили 0 раз(а) в 0 сообщениях
			
		
	 Сила репутации: 0 Репутация: 0 
					(пока ничем не отличился)
      | 
 
	
		мда)) легко тебе говорить.. я 50% написаного тобой только понял))InputThread - понял
 SetupInput - почти не понял
 )))
 			 
 Последний раз редактировалось LeshiyGS; 13.10.2009 в 01:50.
 
 |  
	|  |       |  
	
		
	
	
	
		|  13.10.2009, 01:49 | Сообщение: #6 (831116) |  
	| 
 
  
			
Прошивка: 5.50 gen-c Другие консоли: PS3(CECHC 60Gb), DS lite, x360(20Gb/120Gb) Регистрация: 11.05.2007 Возраст: 44 
					Сообщений: 2,509
				 Вы сказали Спасибо: 337 
		
			
				Поблагодарили 991 раз(а) в 579 сообщениях
			
		
	 Сила репутации: 1 Репутация: 951 
					(это имя известно всем)
      | 
 
	
		общая идея в том что ничем работа в модуле не отличается от обычной. либо тебе основное приложение будет сигналить о вводе или сам определяешь. там 2 типа функций, котрорый удаляет из очереди и который оставляет. в доках есть. 
 |  
	|  |       |  
	
		
	
	
	
		|  13.10.2009, 01:54 | Сообщение: #7 (831117) |  
	| 
 
  
			
				Регистрация: 07.07.2009 Возраст: 37 
					Сообщений: 7
				 Вы сказали Спасибо: 0 
		
			
				Поблагодарили 0 раз(а) в 0 сообщениях
			
		
	 Сила репутации: 0 Репутация: 0 
					(пока ничем не отличился)
      | 
 
	
		на доки ссылку можно? я так понял что во второй функции ты создаешь Thead который говорит о том нажата кнопка или нет.. вот только я не пойму как спросить нажата ли.. я полный новичек)) 			 
 Последний раз редактировалось LeshiyGS; 13.10.2009 в 01:57.
 
 |  
	|  |       |  
	
		
	
	
	
		|  13.10.2009, 01:57 | Сообщение: #8 (831118) |  
	| 
 
  
			
Прошивка: 5.50 gen-c Другие консоли: PS3(CECHC 60Gb), DS lite, x360(20Gb/120Gb) Регистрация: 11.05.2007 Возраст: 44 
					Сообщений: 2,509
				 Вы сказали Спасибо: 337 
		
			
				Поблагодарили 991 раз(а) в 579 сообщениях
			
		
	 Сила репутации: 1 Репутация: 951 
					(это имя известно всем)
      | 
 
	
		Доки есть в комплекте к сдк, они компилятся или устанавливаются из комплекта мингвовского минималиста. там есть и коды кнопок и как работать с буфером нажатий. 
 |  
	|  |       |  
	
		
	
	
	
		|  13.10.2009, 02:22 | Сообщение: #9 (831120) |  
	| 
 
  
			
				Регистрация: 07.07.2009 Возраст: 37 
					Сообщений: 7
				 Вы сказали Спасибо: 0 
		
			
				Поблагодарили 0 раз(а) в 0 сообщениях
			
		
	 Сила репутации: 0 Репутация: 0 
					(пока ничем не отличился)
      | 
 
	
		как спросить о нажатии я так и не вьехал(( кстати при юзании SetupInput xmb виснет
 LeshiyGS добавил 13-10-2009 в 02:22
 уу спс получилось и без второй функции
 			 
 Последний раз редактировалось LeshiyGS; 13.10.2009 в 02:22.
				Причина: добавил, подумав
 
 |  
	|  |       |  
	
		
	
	
	
		|  19.10.2009, 00:22 | Сообщение: #10 (833224) |  
	| 
 
  
			
				Регистрация: 07.07.2009 Возраст: 37 
					Сообщений: 7
				 Вы сказали Спасибо: 0 
		
			
				Поблагодарили 0 раз(а) в 0 сообщениях
			
		
	 Сила репутации: 0 Репутация: 0 
					(пока ничем не отличился)
      | 
 
	
		
	#include <pspkernel.h>
#include <pspdebug.h>
#include <pspctrl.h>
#include <string.h>
PSP_MODULE_INFO("TESTPRX", 0x1000, 1, 1);
typedef unsigned char byte; 
int menu = 0;
#define RGB(r,g,B) ((u32)((byte)(r)|((byte)(g) << 8)|((byte)(B) << 16)))
#define printf    pspDebugScreenPrintf
SceCtrlData pad;
int main(int argc, char **argv)
{
        
    pspDebugScreenInit();
    while (1) 
    {
        sceKernelDelayThread(1000);
        sceCtrlReadBufferPositive(&pad, 1);
        if (pad.Buttons & PSP_CTRL_RTRIGGER){
                if (menu) menu = 0;
                else menu = 1;                
        }
        if  (menu){
            pspDebugScreenSetXY(0, 0);
            pspDebugScreenSetBackColor(RGB(255, 0, 0));
            printf("First Menu");
            pspDebugScreenSetXY(0, 1);
            printf("Play Station Portable");
        }
    }
    sceKernelSleepThread();
return 0;
}
void* getModuleInfo(void)
{
    return (void *) &module_info;
}
int main_thread (void) {
    return 0;
}
int module_stop (void) {
    return 0;
}
 
Подскажите почему так.. кроме плагина неработает ничего.. это раз.. фон моргает это 2 и еще отклик от кнопки работает как то странно это 3(( 
 |  
	|  |       |  
	
		
	
	
	
	
	
	
	
	
		| Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) |  
		|  |  
	| Опции темы |  
	|  |  
	| Опции просмотра |  
	
	| 
		 Линейный вид |  
	| 
	|  Ваши права в разделе |  
	| 
		
		Вы не можете создавать новые темы Вы не можете отвечать в темах Вы не можете прикреплять вложения Вы не можете редактировать свои сообщения 
 HTML код Выкл. 
 |  |  |  
          Текущее время: 02:45. Часовой пояс GMT +3.
        
      
        | 
		
		Powered by vBulletin® Version 3.8.7 Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot 
			
		PSPx Forum - Сообщество фанатов игровых консолей.
	    |  |  |