|
Программирование для 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
Возраст: 43
Сообщений: 2,509
Вы сказали Спасибо: 337
Поблагодарили 988 раз(а) в 579 сообщениях
Сила репутации: 1Репутация: 948 
(это имя известно всем)
|
Опрос кнопок по таймеру не работает?
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
Возраст: 43
Сообщений: 2,509
Вы сказали Спасибо: 337
Поблагодарили 988 раз(а) в 579 сообщениях
Сила репутации: 1Репутация: 948 
(это имя известно всем)
|
ну вот я тебе кусок кода дал. вызываешь сетуп инпут в начале работы модуля, а там пишешь что надо в глобальные переменные. ну а потом гдето в основном потоке из проверяешь. можно и без отдельного потока, но тогда во время тяжёлой работы система не будет реагировать на кнопки. а это бесит.
|
|
|
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
Возраст: 43
Сообщений: 2,509
Вы сказали Спасибо: 337
Поблагодарили 988 раз(а) в 579 сообщениях
Сила репутации: 1Репутация: 948 
(это имя известно всем)
|
общая идея в том что ничем работа в модуле не отличается от обычной. либо тебе основное приложение будет сигналить о вводе или сам определяешь. там 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
Возраст: 43
Сообщений: 2,509
Вы сказали Спасибо: 337
Поблагодарили 988 раз(а) в 579 сообщениях
Сила репутации: 1Репутация: 948 
(это имя известно всем)
|
Доки есть в комплекте к сдк, они компилятся или устанавливаются из комплекта мингвовского минималиста. там есть и коды кнопок и как работать с буфером нажатий.
|
|
|
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 код Выкл.
|
|
|
Текущее время: 17:47. Часовой пояс GMT +3.
Powered by vBulletin® Version 3.8.7 Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.
|
|
|