Возраст: 54 | |
Сообщений: 50 Благодарности: 1 / 2 Репутация: 2 Предупреждений: 0
Друзья Тут: 13 лет 8 месяцев
Всем привет после долгой разлуки! Надеюсь, что вы уже немного осилили c++, прочитав книгу из 3 Части. Вот новый Makefile Editor Сегодня я Вам расскажу о том как выводить значения переменных и как использовать цветной текст. Создаём папку с названием "print" на диске "C:\projects\psp". С помощью Makefile Editor'а создаём makefile. Заполняем поля как на скрине: Теперь приступим к коду: main.c
#include "pspSetup.h"
int main()
{
pspDebugScreenInit();
int i=89;//определяем переменную i и даём ей значение 89
textColor(RGB(255, 0, 0);//эта строчка задаёт цвет отображаемого текста
printf("%d", i);//%d нужно, чтобы наше число выводилось в десятичном виде
sceKernelExitGame();// выход из программы
return 0;
}
#include <pspkernel.h>// это самый главный заголовочный файл без него ничего работать не будет
#include <pspdebug.h>// это заголовочный файл для вывода на экран
#include <pspdisplay.h>// это заголовочный файл для работы экрана нашеё PSP
#define printf pspDebugScreenPrintf// чтобы не тащить за собой много кода сделаем определение printf будет обладать всеми теми же свойствами как и pspDebugScreenPrintf просто имя мы укоротили...
typedef unsigned char byte;// делаем определение типа byte т.к. его нет на psp, а byte - это беззнаковый char
#define RGB(r,g,b) (u32)(byte)(r)|(byte)(g)<<8)|(byte)(b)<<16))//определяем RGB для работы с цветом
#define textColor pspDebugScreenSetTextColor //делаем define чтобы не тащить за собой хвост..
#define setXY pspDebugScreenSetXY// делаем define чтобы не тащить за собой хвост..
PSP_MODULE_INFO("Print", 1, 2, 2);//эта строчка тоже обязательна! В кавычках мы пишем название программы. В нашем случае "Print"
int ExitCallback(int Arg1, int Arg2, void *Common)
{
sceKernelExitGame();
return 0;
}
int CallbackThread(SceSize Args, void *Argp)
{
int CallbackId;
CallbackId = sceKernelCreateCallback("Exit Callback", ExitCallback, NULL);
sceKernelRegisterExitCallback(CallbackId);
sceKernelSleepThreadCB();
return 0;
}
int SetupCallbacks(void)
{
int ThreadId = 0;
ThreadId = sceKernelCreateThread("update_thread", CallbackThread, 0x11, 0xFA0, 0, 0);
if (ThreadId >= 0)
{
sceKernelStartThread(ThreadId, 0, 0);
}
return ThreadId;
//весь выше перечисленный код до PSP_MODULE_INFO нужен для выхода из программы
}
Так же числа можно выводить в 8-ой и 16-ой системе с помощью printf. Для этого вместо "%d" надо написать "%o" (для 8-ой) или "%x" (для16-ой). Добавим этот код:
#include "pspSetup.h"
int main()
{
pspDebugScreenInit();
int i=89;
textColor(RGB(255, 0, 0);//эта строчка задаёт цвет отображаемого текста
setXY(0, 0);//задаём позицию символа
printf("%d\n", i);// 10 система счисления
printf("%o\n", i);// 8 система счисления
printf("%x\n", i);// 16 система счисления
sceKernelExitGame();// выход из программы
return 0;
}
И так, немного об RGB(r, g, b): 1. r- значение красного цвета от 0 до 255 2. g- значение зелёного цвета от 0 до 255 3. b- значение синего цвета от 0 до 255 Цвет можно выбирать в стандартном Paint'е, а потом использовать в программе. На этом урок заканчивается, но это ещё не всё! Вам домашнее задание! Используя полученные знания из 2 Части и 4 Части(которую Вы читаете сейчас) написать программу для перевода числа из 10-ой системы счисления в 8-ую и 16-ую Плюс к этому надо сделать, чтобы пользователь изменял число(прибавлял или убавлял его значение) программа должна работать в цикле while. И должно получиться что-то типа такого:
Всем удачи! Ваш, MALEXKIY Кто сделает Д/з отправляйте в личку я гляну!
Сообщение отредактировано 16 декабря 2012 19:17. Редактировалось 6 раз(а)
xumar89, Тоесть Браян, старый Панк(2007-2009), Альберто Дель Рио, старый Ортон(2006-2009), Шоу, которого сейчас ненавидят, Кейн, Крис Джерико - они не?
Возраст: -- | |
Сообщений: 20 Благодарности: 0 / 1 Репутация: 0 Предупреждений: 0
Друзья Тут: 15 лет 10 месяцев
Tobi19, если я тебе скину свою базу читов - это тебе непоможет ....я для каждого перса периписывал базу по несколько раз , добавляя именно то что нужно для моих персов( и то когда у тебя в базе прописано куча слоев под каждого перса появляются баги с видом я их еле решил недавно , случились видать из большого кол-ва прослоеных персов и слои смешивались бывало, трудно решил эту проблему и всё равно иногда проявляются лаги , мое счастье что они проявлятся редко и только на выходах персонажей в геймплее все чисто и красиво).......В общем грамотно это делается в ручную можно сказать..... 02 = Definition (Body Skin) 04 = Skin Texture&Color (Face Skin) 05 = Eye Type 06 = Eyebrows 07 = Eyelashes 08 = Lips 09 = Teeth 0A = Hair 0C = Sideburns 0D = Mustache 0E = Goatee 0F = Templates 10 = Hats (Headwear) 11 = Masks (Headwear) 12 = Glasses (Headwear) 13 = Horns (Headwear) 14 = Other (Headwear) 15 = Tops (Female) 16 = Tops (Male) 17 = Wrestling Attire 18 = Jackets 19 = Outfits 1A = Elbow Pads 1B = Arms/Wrists 1C = Hands (Gloves) 1D = Underwear 1E = Wrestling Tights 1F = Bottoms (Male) 20 = Bottoms (Female) 21 = Knee Pads 22 = Socks 23 = Boots/Shoes 24 = Scars/Piercings 25 = Marks 26 = Make-Up 27 = Face Paint 28 = Tattoo Torso 29 = Tattoo Arm 2A = Tattoo Legs 2B = Tattoo Back 2C = Piercings 2D = Body Accessories 2E = Arm Accessories 30 = Belts 31 = WWE Logos 32 = Design 33 = Flag 34 = Alphabet 35 = Numeral 36 = Chinese 37 = Japanese 38 = Sign 39 = Facial Features (Works but the stuff is in make-up and Marks now) 3A = Body Hair (Front) 3B = Body Hair (Back) 3C = Body Hair (Forearms) 3D = Body Hair (Legs) 3E = Mask Designs 3F = Wrestling Tights Designs _C0 CAW 02 LAYER 17 _L 0x005BE0FA 0x00000000 _C0 CAW 02 LAYER 18 _L 0x005BE11A 0x00000000 _C0 CAW 02 LAYER 19 _L 0x005BE13A 0x00000000 _C0 CAW 02 LAYER 20 _L 0x005BE15A 0x00000000 _C0 CAW 02 LAYER 21 _L 0x005BE17A 0x00000000 _C0 CAW 02 LAYER 22 _L 0x005BE19A 0x00000000 _C0 CAW 02 LAYER 23 _L 0x005BE1BA 0x00000000 _C0 CAW 02 LAYER 24 _L 0x005BE1DA 0x00000000 _C0 CAW 02 LAYER 25 _L 0x005BE1FA 0x00000000 _C0 CAW 02 LAYER 26 _L 0x005BE21A 0x00000000 _C0 CAW 02 LAYER 27 _L 0x005BE23A 0x00000000 _C0 CAW 02 LAYER 28 _L 0x005BE25A 0x00000000 _C0 CAW 02 LAYER 29 _L 0x005BE27A 0x00000000 _C0 CAW 02 LAYER 30 _L 0x005BE29A 0x00000000 _C0 CAW 02 LAYER 31 _L 0x005BE2BA 0x00000000 _C0 CAW 02 LAYER 32 _L 0x005BE2DA 0x00000000
P.S. скинул на 2 Кав....то есть перса редактируешь на 2 строке, у меня с 1 были проблемы на 2 никаких вообще кроме вышеописанных, надеюсь ты знаешь как это использывать , если нет пиши в личку . А может напишу здесь на сайте гайд на эту тему подробный и простой как в детском саду=)
Сообщение отредактировано 31 мая 2012 01:54. Редактировалось 4 раз(а)
Возраст: 26 | |
Сообщений: 1402 Благодарности: 117 / 137 Репутация: 149 Предупреждений: 0
Друзья Тут: 12 лет 11 месяцев
St Pierre, Отлично) В турнирной таблице распологаемся на 1 месте с отрывом от Милана ( 2 место ) на 5 очков. В Кубке Италии вышли в полуфинал с Палермо. В ЛЧ гарантировали себе участие в 1/4. Строю молодую команду, избавляюсь от стареньких)
"" and "PlayStation" are registered trademarks of Sony Computer Entertainment Inc. "", PSP and "UMD" are trademarks of Sony Computer Entertainment Inc. "", "XMB", "Memory Stick Duo" and the "Memory Stick Duo" logotype are trademarks of Sony Corp. All product titles, publisher names, trademarks, artwork and associated imagery are trademarks, registered trademarks and/or copyright material of the respective owners. All rights reserved.