PSP xvi

PSPプログラミングを教えるブログ(本気で頑張る人アクセス大歓迎サイト)

PSP-X.gif

記事の間違いを報告  新アップローダー
記事修正情報 PSPプログラミング資料 自作ゲーム PSP用エミュレータ リンク

公認リンク
公式PSP専科 公式PSVita専科 はじめるPSPSDK PSP EXEC GAME M@STER PSP 猫山のYouTubeチャンネル

TAG
全記事にタグをつけています  http://nekoyama2gillien.blog36.fc2.com/?tag=タグ
PSP PSPプログラミング DXライブラリPortable OSLib ショートプログラム ハローワールド
PSP自作ゲーム PSP自作ソフト エミュレータ ゲームアーカイブス PSP動画
動画 初音ミク ミクミクダンス MMDドラマ ゲーム 魔法少女まどか☆マギカ 侵略!イカ娘
アイドルマスター

このブログについて

このブログでは、非公式のPSPソフト、いわゆる自作ソフト( PSP Homebrew )を作る事を目的とします。

著作権などの こまかい利用規約については、こちらを開いてお読み下さい

このブログについて知りたい方、初めて来訪された方はこちらを開いてお読みください
お問い合わせは 猫山猫宗(nekomune@gmail.com)までどうぞ


当ブログはリンクフリーです。ブログ名は、アルファベットで「PSP xvi」と書いて『ピーエスピー・エクシビ』とお読みください。
相互リンクを希望されるブログ運営者様は、ココで申請して下さい。


このブログで全記事から探し物の方は、ここをクリックして下さい。
http://nekoyama2gillien.blog36.fc2.com/?all

スポンサーサイト 

--/--/--
--. --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[edit]

CM: --
TB: --

page top

さて、前出の 「全角文字版はろ~わーるど」 の解説です。
大した事はしていません。

本家 『 全角文字表示ライブラリ zenkaku.c 』 への変更は、下記の通りです。
文字の描画色のキャスト(型宣言)を、"int"から"long"に変更しただけです。

理由は、
ただの気まぐれです。気まぐれオレンジロード(古っwww
「C++コンパイラーは、CPUやコンパイラーに渡すパラメータ等で int の扱いが変化する為」です。
PSPは32BIT-CPUですし、色の表現は32Bit可能ですし、ソースを見ていたら32Bitで扱われている事などから、"long"に統一しました。

昔ながらのプログラマーは、int は2バイトって固定観念があるんですよ。PSPは32ビットCPUを装備してるので、int は4バイト(固定)なのですが…。

で、文字の描画処理は、フォントの有効データがあれば、指定された色で点を打ち、フォントの有効データが無ければ何もしない、という事が行なわれています(擬似透明処理)。
空白文字だと全く点が打たれません。"●"という文字だと円状に点が打たれます。

こういう処理をしていると、暗い色で文字列を描画して、左上に(-1,-1)した座標から明るめの色で文字列を描画し、『立体感が出ている影つきの文字列』が描画できます。

私は、『 全角文字表示ライブラリ zenkaku.c 』を更に改良して、文字色を透明に出来るようにしたり、背景色を有効(32Bitカラー)にする事も考えています。
そうするとカラフルな文字が描画できて楽しいのでは?とか思ったり。

関数 mh_print のフォントについて
書体は東雲フォント(しののめふぉんと)です。
半角文字では横6ピクセル×縦12ピクセル
全角文字では横12ピクセル×縦12ピクセル
となっております。
Windows文字を全てサポートし、更に絵文字も入っています。

関数 mh_print の使い方
/*****************************************************************************
*文字列の描画
*****************************************************************************/

void mh_print(int x,int y,const char *str,long col)

int x == 描画始点のX座標(左端 / 0~479の範囲で指定:PSP横は480ピクセル)
int y == 描画始点のY座標(上端 / 0~271の範囲で指定:PSP縦は272ピクセル)
const char *str == 描画する文字列のオフセット値(アドレス:32Bitの値で指定)
long col == 描画する文字列の色を32Bitカラーで指定(実は24Bitカラー)

<使用例>
mh_print(32, 27, "Hello,world !",0xffffff); // 白色


尚、PSPでの32Bitカラーは、下記のようになっています。

( 上位 Bit  ←←←←←←←←←←    →→→→→→→→→→ 下位 Bit )
無無無無無無無無 青青青青青青青青 緑緑緑緑緑緑緑緑 赤赤赤赤赤赤赤赤

簡単に述べると、無青緑赤の順に、各色成分が 8 Bit 持っています。
Windowsでは、無赤緑青なので、PSPとは 青成分と赤成分が逆になっている、という事実。

8 Bit という事は、0~255 の 256通り の表現が可能という事です。
0 は無色で、255 は最大に明るい色、です。
C++言語での色表現を下記に書いてみました。C++言語では16進数を 0x数値 と書きます

< 例 >
青色:0x00FF0000
赤色:0x000000FF
緑色:0x0000FF00
紫色:0x00FF00FF
黄色:0x0000FFFF
水色:0x00FFFF00
黒色:0x00000000
灰色:0x00777777

32Bitカラーといっても、実際は24Bitカラーなんですねぇ。

この関数に対して不明点・質問があったら、コメント欄に書いてください。解かる範囲でお答えします。

関連記事
スポンサーサイト

[edit]

CM: 1
TB: 0

page top

ブラウザで遊ぶ、不謹慎ゲーム 

2009/05/09
Sat. 17:37

Faith Fighter

世界の宗教家が激怒している不謹慎ゲームを紹介

Faith Fighter
http://flashxgame.net/cache/game/0/a/c/faith-fighter_2045.html

-- 続きを読む --
関連記事

[edit]

CM: 0
TB: 0

page top

アイドルマスターSP カタログ4号 

2009/05/11
Mon. 06:51

PSPアイドルマスターSP』の、その後のニュースです。

バンダイナムコゲームスは、PSP用ソフト『アイドルマスターSP(エスピー) パーフェクトサン/ワンダリングスター/ミッシングムーン』のダウンロードコンテンツ (DLC)第4弾を、09年5月13日より配信する。


-- 続きを読む --
関連記事

[edit]

CM: 0
TB: 0

page top

さて、PSP用の対戦格闘ゲームシステム M.U.G.E.N. を紹介します。
PSP_MUGEN_SS10.jpg

Do you like PSP? ~新PSPRainbow 3rd~ PSP×NDS×XBOX360×PC完全攻略!!
の管理人のLeC君が 私がアップした動画を紹介して下さったので、コッチでも貼り付けてみるテスト。

PSP MUGEN で 8人同時対戦をやってみた


この動画は、デジカメ と RemoteJoyLite と カハマルカの瞳で撮影して、加工しました。
BGMが無いので勝手にフリー音楽から拝借して合成。
2D格闘ゲームに興味ある人は要チェックやぞ。

詳細は、続きに書いてあります。
-- 続きを読む --
関連記事

[edit]

CM: 2
TB: 0

page top

PSP自作ゲーム ポケモンキーパー 

2009/05/30
Sat. 07:53

おはようございます。
今日は、YOUTUBEにある PSPの分解動画を貼り付けようかと思ったのですが、観ていてつまらなかったので PSP Homebrew から 1作品をご紹介します。

知っていらっしゃる方は多いかと存じますが、参考までに。

タイトル:「 ポケモンキーパー / Pokemon Keeper 」

版権の方はどうなってるんでしょwwwww

まぁ、動画を観てくださいませ。



簡単な紹介ページ
http://www.eonet.ne.jp/~psp-psp/softwares/Pokemon_Keeper/Pokemon_Keeper.htm

念の為に書きますが、ファームウェア1.00 の PSP、もしくは ファームウェア1.50 の PSP、もしくは カスタムファームウェアが導入されたPSP、のどれかでないと実行できませんよ、と。

ダウンロードページへ行く
QJ.netへリンクしてます

関連記事

[edit]

CM: 0
TB: 2

page top


h o m e |


 

2009-05