スポンサーサイト

 --------
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
カテゴリ :スポンサー広告 トラックバック(-) コメント(-)

暗号化の話

 2009-12-07
ろかんさんのところで、気になる記事を見つけたよ。
なんでも、ファイルの検査関数は暗号アーカイブ内をチェックしないそうな。
Graphics, Graphics/aa, Graphics/System, Graphics/System/aa の4つのフォルダに
それぞれファイルを置いて、FileTest.exist?(filename) を実行してみた。
結果は、すべて false だった。

あちゃ~ですねぇ。
考えてみれば、当たり前ですよね。
画像フォルダは、全部まとめられて Game.rgss2a ってファイルになってるんだから。
データフォルダも同様だと思います。

ヘルプにもありますしね。

暗号化アーカイブ内にあるファイルは、組み込みゲームライブラリの以下のメソッドにおいて、
ゲームフォルダに存在するのと同じようにアクセスすることができます。
load_data、Bitmap.new、Graphics.transition


私は、基本的にファイル名を格納する定数を用意して、画像を使用するかを判別しているので、
それほど困る仕様ではないですね。
でも、load_file みたいな暗号アーカイブ内のファイルを読み込むものは欲しかったですね。

あ、読み込みじゃなくてチェックの話だった。
ファイルの有無を調べたいときは、例外処理くらいしかないのかな?
begin
  Bitmap.new("test.png")
rescue Errno::ENOENT
  print "ファイルないよ"
end
私は、あまり好きじゃないけど組み込みのクラスを書き換えて、
ファイルの読み込みに失敗したら、何かの値を返すようにしてみたりすると
有無の確認が出来るんじゃないかな?
# 例えば、ファイルの読み込みに失敗したら、nilを返す
b = Bitmap.new("test.png")
unless b
  # ファイルが存在しない場合の処理
end
みたいな。
どうせなら、キャッシュの処理みたいに32x32の空画像を作成して返してもいいし。

でもまぁ、自動で判別しなきゃいんですよね。
設定項目用意してそちらで設定してもらえば。

私もファイル検査関数を使用する場合は、$TESTと同時に使用して、
テストプレイ時にしか実行しないようにしよ。

たぶん、暗号化後にファイルチェックしてるものは無いと思うけど、不具合あれば報告お願いします。
これからは、気をつけよ。
どうしてもテストプレイ以外でチェックが必要になったら、例外処理するようにして。


◆◇◆◇◆◇◆◇◆◇


最近、気づいちゃったんですけど、知ってます?

ローカル変数って、代入による宣言が必要ですよね?
しかし、必ずしも実行される必要は無いんです!!
var = 3 if false
p var # => nil
# 変数は、すべて nil で初期化されるよb

え!?知ってたの!!
私は知らなかったよ。。。

作ってたプログラムが何故かか動くわけよ。
代入処理を行ってない変数を参照してるのに例外が発生しないの!
ここで分岐してここで分岐してこうだろ~って。
で、思ったわけよ。もしかして、代入を実行する必要はないのかな?って。
てなわけで、Ruby起動して、上記のようなコードを実行すると、
わぁ!って。

この辺は、ツクールのヘルプで勉強したから知らなかった。
なんか説明端折ってるから。
Rubyのマニュアルには、ちゃんと書いてあった。


◆◇◆◇◆◇◆◇◆◇


あ、そうそう次回は外部ファイルのロードについて解説できたらなと思ってます。
インクルード的な。
これも同じ人のとこで読んだ記事からネタ作りしてるんですけど。。。

外部ファイルって言ってるけど、もしかしたらRubyプログラムファイルのみの読み込みについてかも。
テキストファイルとか説明してたら、長くなるよね?

Kernel.require で読み込むのは、結構知ってる人が多いけど、
ブログとか読んでるとエラーが出るとかあるので、
注意事項とか実行方法について。

コメント




 

 ※ コメント内にURLを含めるには、バッククォート(`)をURLの直前に付け加えてください。


管理人のみ閲覧許可 [?]

トラックバック
トラックバックURL:
http://cacaosoft.blog42.fc2.com/tb.php/335-12063714
≪ トップページへこのページの先頭へ  ≫
カレンダー
10 << 2017/11 >> 12
- - - 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 - -

カテゴリー
最近の記事
最近のコメント
タグクラウド

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