Lecția 5: Noi tehnici de programare pentru PSP, Capitolul 1 - Educația elevilor

Așadar, am creat un mediu de dezvoltare, am scris primul program, am învățat câteva metode de programare și am lucrat cu programarea imaginilor. Ce vom face acum? Sunteți pe această pagină și, pariez, nu vă surprindeți că am ajuns deja la a 5-a lecție. Vom îmbunătăți abilitățile noastre de programare (spunând "noi" vreau să spun "tu") și să vă familiarizați cu conceptele extinse.







Deși "extins" - acest lucru este destul de subiectiv. Vom continua să constituie baza pentru programarea în C (C), care va ajuta pentru a crea aplicații mai complexe. La sfârșitul acestei lecții, va trebui să știe cum să PSP «accelereze» la adevarata lui viteza de 333 MHz, modul de afișare a textului pe ecran (textul grafic în loc de depanare de text, utilizat anterior) și modul în care culorile din PSP.

Programul pe care îl vom crea în această lecție este numit "schimbătorul de bază". Vom învăța utilizatorul să aleagă culoarea de fundal și să-și creeze propria lor, exact așa cum scoatem imaginile color pe ecran.

În primul rând, avem un fundal. În cele mai multe cazuri, oamenii au o noțiune greșită despre PSP «accelerare». Din cauza „accelerare“ lor prejudecată le asociază cu probleme termice și hardware daune. Dar nu este doar PSP-ul. De fapt, producătorul PSP furnizează un pachet incomplet cu acest produs. Există mai multe versiuni de ce Sony face acest lucru. Una dintre ele este că maximă „accelerația“ se va scurge rapid bateria, care afectează în mod negativ popularitatea Sony (pentru noi, nu îngrijorătoare cu privire la aceasta, UMD rotația discului durează de viață a bateriei mult mai mare în comparație cu încărcarea cardului de memorie). Conform unei alte versiuni, Sony a dorit dezvoltatorii să scrie cod optimizat. Și o treime (în opinia mea, mai probabil) este urmatoarea: le-ar permite dezvoltatorilor să folosească viteza maximă atunci când vin joc mai puternic. Într-un fel sau altul, PSP ajunge de obicei la 222 MHz. Dacă aveți nevoie de mai multă energie pentru programele lor, opțiunea - „accelerare“ Programul pe care îl vom compila nu are nevoie de o astfel de nutriție. Totuși, este timpul să vorbim despre acest concept.






Deci, de acum încolo începem să ne compunem programul. Trebuie să descărcați acest fișier zip pentru această lecție. Puteți descărca aici. Trebuie să puneți fișierul principal.c în același director pe măsură ce extrageți fișierele din fișierul zip.

#include
#include
#include
#include
#include
#include "graphics.h"

Luând în considerare lecțiile anterioare, trebuie să fiți toți familiarizați cu acest lucru. Singurul lucru care ar putea părea nou pentru dvs. este fișierul psppower.h inclus. Acest fișier conține funcțiile pe care le vom folosi pentru a schimba viteza ceasului PSP.

Folosirea unui cod mai familiar:

PSP_MODULE_INFO ("Changer Background", 0, 1, 1);

# definește RGB (r, g, b) ((r) | ((g)<<8)|((b)<<16))

Amintiți-vă, ca și în lecția 2, am menționat această linie fără o explicație detaliată a funcționării acesteia. Cred că acum este un moment bun pentru asta. Primul parametru este codul dvs. de program, de obicei numele aplicației dvs. Al doilea parametru vă permite să atribuiți atribute. Pentru majoritatea programelor dvs., este necesar doar 0, dar dacă creați aplicații mai puternice, va trebui să comutați la "0 × 1000". Al treilea parametru pentru versiunea principală, al patrulea pentru versiunea minoră. Acestea sunt destinate doar pentru a documenta numărul versiunii programului dvs.

Acum apeluri standard:

/ * Exit callback * /
int exit_callback (int arg1, int arg2, void * comun) sceKernelExitGame ();
retur 0;
>

/ * Firul de apel inversat * /
int CallbackThread (argumente SceSize, void * argp) int cbid;

cbid = sceKernelCreateCallback ("Exit Callback", exit_callback, NULL);
sceKernelRegisterExitCallback (cbid);

/ * Setează thread-ul de apel invers și returnează id-ul firului * /
int SetareaCallbacks (void) int thid = 0;

thid = sceKernelCreateThread ( "update_thread", CallbackThread, 0 × 11, 0xFA0, 0, 0);
dacă (thid> = 0) sceKernelStartThread (thid, 0, 0);
>

Acest lucru sfârșește o parte a instalării în acest tutorial. Continuăm la a doua parte a acestei lecții.







Articole similare

Trimiteți-le prietenilor: