忍者ブログ

Spare Blog

フリーゲームを公開しているSpare Blade(http://tomatoes.michikusa.jp/)のブログです。 思いついたこととか役に立ちそうなことを書いていきたいと思います。 ゲームの制作状況はTwitter(https://twitter.com/Spare_Blade)に書いていきます。
MENU

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

(ウディタ)ランチャー経由だと同梱したフォントが反映されない

先日公開した「シロガネランド」、フォントに美咲ゴシックを使っています。

外部フォントを使っている場合、ゲームの配布時に、フォントをファイルに同梱しなければいけません。

ゲームファイルを暗号化した場合、実行ファイル「Game.exe」がある場所と同じ所にフォントをおいて置かなければいけません。

ですが、今回、Game.exeと同じ所に置いたはずが反映されず…。
(ここまで前置き)




結果として、フォントを同梱する場合は基本的にはGame.exeと同じ場所ですが、
ランチャー経由でGame.exeを起動させる場合は、そのランチャーと同じ場所にフォントをおいておく必要があるみたいです。

今回の「シロガネランド」では、ウディタからブラウザのTwitter投稿画面を起動させるためにランチャー「Twitter投稿ツール for WOLF RPG Editor」を使っていたのですが、それ(フォントがランチャーと同じパスになかった)が行けなかったようでした。

というわけで、ランチャー経由でウディタを起動させるときの注意点でした(*´∀`)

(ウディタはツクール2000/2003みたいに実行ファイルがゲームデータのファイルが沢山入っている場所に一緒になっているわけではないので、ランチャーを同梱する必要も無いでしょうから、あまり必要のない話だとは思いますが…。)
PR

倍角の表示がおかしくなった時の対処法



↑こんな感じで、何かの拍子に、倍角で表示していたフォントの倍率が狂ってしまった時の対処法です。



Game.exeとかが入っているフォルダの、Game.iniを削除する。

ウディタでTwitter投稿機能をやろうとした時のメモ

ウディタでツイッターへのショートカットを作る際のメモ
(※飽くまで自分がやった時のものです。もっと効率的な方法はあると思います。)

◆まとめ


・.url形式で出力することでショートカットファイルを作成出来る。
・ショートカットファイルの中身には
[InternetShortut]
URL=★
と書いておく。★は対象ページのURL。
・Twitterに投稿するページの場合、こちらを参照
・ただし↑のURLに日本語をくっつける場合、URLエンコードをしなければいけない(っぽい)。
・よって、自分の場合、
ウディタからダウンロード機能でPHPファイルへツイートしたい情報を送る

PHP側で受け取った情報をURLエンコード&表示

表示されたものをウディタがダウンロード。
そしてショートカットファイルへ出力

としました。
日本語の部分が毎回固定ならわざわざ毎回PHPに送る必要もないですね。今気づきましたが…。

◆ソース


大すき!ワンオペレーションで使ったものです。

<pre>
&lt;?php
//------------------------------------------------------------メモ
//ウディタからの取得時→Shift_JIS
//なので来たデータをそのまま返す場合は文字コード変換は不要。
//逆にPHPからのデータを返す場合、UTF-8なので文字コード変換が必要。
//------------------------------------------------------------

//ウディタからGET形式で送った変数を取得
$name=$_GET[\'name\'];
$score=$_GET[\'score\'];

//文字コードを変換
$name = mb_convert_encoding($name, \&quot;UTF-8\&quot;, \&quot;Shift_JIS\&quot;);
$score = mb_convert_encoding($score, \&quot;UTF-8\&quot;, \&quot;Shift_JIS\&quot;);

//ショートカットファイルの形式にして表示
//ウディタではこの文章を受け取り、url形式で出力させる(→ショートカット)
print \&quot;[InternetShortcut]\&quot;;
print \&quot;\\n\&quot;;
print \&quot;URL=\&quot;;
$url = \&quot;https://twitter.com/intent/tweet?&amp;text=\&quot;.urlencode(\&quot;【大すき!ワンオペレーション】\&quot;.$name.\&quot;さんは\&quot;.$score.\&quot;杯の牛丼をよそいました。\&quot;).\&quot;&amp;url=http://tomatoes.michikusa.jp/&amp;hashtags=\&quot;.urlencode(\&quot;大ワン\&quot;);
print $url;

//urlencode()←これで括弧内の文字をURLエンコードする。
?&gt;
</pre>

ウディタでネットランキングをやろうとした時のメモ

大すき!ワンオペレーションではネットランキング機能が搭載されています。
これはウディタのダウンロード機能を使ったものです。
このネットランキングを作るのにやったこと、必要だったことをメモしておきます。

◆何がいるのか


必要なものは
・PHPファイル
・データベース
(+ PHPやDBが使えるレンタルサーバー。自分の場合はさくらインターネット)

◆何が行われているのか


【ウディタ】
ダウンロードイベントを実行。
ダウンロード先URLには、情報(名前、スコアなど)をプラスしておく

↓接続時に、URL後ろにプラスした情報が送られる(=GET形式)

【PHP(※ダウンロード先)】
・受け取った情報を、データベース(別途用意)に登録
・データベースからスコアのランキングを引っ張ってくる
PHPには、最終的に、取得したランキングが書かれた文が表示される
↓こんな感じ
    過労死     68 14/09/10 17:43:49
black 56 14/09/10 17:37:05
shine 26 14/09/11 15:07:42
aa 25 14/09/11 12:16:49
ムツキ 25 14/09/11 6:54:47
★水月 25 14/09/10 19:17:27
あるま 25 14/09/11 22:31:28
shine 25 14/09/10 18:31:47
zz 25 14/09/10 17:24:51
くろこーぷ 25 14/09/12 2:41:54




↓ダウンロードイベントは、この最終的に表示された文をダウンロードしてくる

【ウディタ】
PHPから文を取得
文字列変数に代入

これを文字列ピクチャなりで表示することになる。

◆ソースコード


MySQLの場合
(※私が使った時のものです。これをコピペすれば即使えるというわけでもありません。飽くまで参考用として。)
<?php
//------------------------------------------------------------メモ
//【文字コードについて】
//ウディタからの取得時→Shift_JIS
//なので、来たデータをそのまま返す場合は文字コード変換は不要。
//しかし、PHPから表示したデータを返す場合、UTF-8なので文字コード変換が必要。
//------------------------------------------------------------
$name=$_GET[\'name\'];//ウディタのDL機能で、URLにくっつけて送った変数を取得
$score=$_GET[\'score\'];//ウディタのDL機能で、URLにくっつけて送った変数を取得
$registtime=date(\"y/m/d G:i:s\");//登録時間を取得
$name=mb_convert_encoding($name, \"UTF-8\", \"Shift_JIS\");
//↑mysqlはUTF-8なので、ウディタから来たShift_JISから変換する必要がある。(表示されない)
$name=htmlspecialchars($name);//汚物を消毒(HTMLタグがウディタから送られてきた時用対策)
//------------------------------------------------------------SQL実行(挿入)
$dsn=\'mysql:dbname=☆;host=★\';//【注意】☆←DB名、★←ホスト名
$user=\'●\';//【注意】●←DBのユーザー名
$password=\'○\';//【注意】○←DB接続の為のパスワード
$dbh=new PDO($dsn,$user,$password);//↑の3つの情報を使ってDBに接続する
$dbh->query(\'SET NAMES utf8\');

$sql=\'INSERT INTO ◆(name,score,registtime) VALUES (?,\"\'.$score.\'\",\"\'.$registtime.\'\")\';
//↑SQL文(どういう形でDBにデータ登録するか指定)【注意】◆←DBの中のテーブル名
$stmt=$dbh->prepare($sql);
$data[]=$name;//SQLインジェクション対策
$stmt->execute($data);//SQLインジェクション対策

$dbh=null;//DB閉じる
//------------------------------------------------------------SQL実行(取り出し)
$dsn=\'mysql:dbname=☆;host=★\';//【注意】☆←DB名、★←ホスト名
$user=\'●\';//【注意】●←DBのユーザー名
$password=\'○\';//【注意】○←DB接続の為のパスワード
$dbh=new PDO($dsn,$user,$password);//↑の3つの情報を使ってDBに接続する
$dbh->query(\'SET NAMES sjis\');
mysql_set_charset(\'sjis\');//ウディタはShift_JISなので、mysqlから来たUTF-8から変換する必要がある。(文字化け)

$sql=\'SELECT * FROM daisuki WHERE 1 ORDER BY roudou DESC\';
//↑SQL文(どういう形でDBからデータを持ってくるか指定)
$stmt=$dbh->prepare($sql);
$stmt->execute();//SQL実行
//【取り出したのを表示する】
for($i=1;$i<=10;$i++){//1〜10位までを取り出す
$rec=$stmt->fetch(PDO::FETCH_ASSOC);
if($rec==false){ //中身がもうない場合
break; //中断
}

$hyoujiname=$rec[\'name\'];
$hyoujiroudou=$rec[\'roudou\'];
$hyoujiscore=$rec[\'score\'];
//【取り出したデータを文字にして表示】
print str_pad($hyoujiname,10,\' \',0);//変数hyoujinameが、6ケタに満たなかったら、「_」で、左から補う
print\" \";
print str_pad($hyoujiroudou,6,\' \',0);//変数hyoujiscoreが、6ケタに満たなかったら、「_」で、左から補う
print\" \";
print $rec[\'tourokuji\'];
print\"\\n\";//改行
}
$dbh=null;//DB閉じる
?>




◆参考




いきなりはじめるPHP





ウディタ・ツクール2000でBGMが再生されなくなった時の対処

自分が最近よくなるので。
メモも兼ねて。

①Windows Media Playerでmidiを再生させる
②そのままウディタのゲームも起動する

× CLOSE

カレンダー

03 2024/04 05
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

フリーエリア

最新コメント

2015 / 02 / 06 ( Fri ) 22 : 16 : 52
2014 / 08 / 20 ( Wed ) 06 : 43 : 29

最新トラックバック

プロフィール

HN:
sep
HP:
性別:
非公開
職業:
趣味:
自己紹介:

QRコード

ブログ内検索

× CLOSE

Copyright © Spare Blog : All rights reserved

TemplateDesign by KARMA7

忍者ブログ [PR]