第34号HSPTV!メルマガアーカイブこのページはHSPTV!のメールマガジンのバックナンバー置き場です。メールマガジンへの加入はhsp.tvまで。http://hsp.tv/play/service.html■はじめに今週の”もーりおのつぶやき”が作者急病の為、お休みです。そのかわり硬派な記事が集まりましたよ。みなさんも健康に注意して過ごしてくださいね。特別編「指定した年月の日数を得る」はーい。ひよ塾、久方ぶりの復活です。1~3月は個人的に毎年忙しく、体調不良な時期でもあって、わりと息を潜めて過ごしてますが、最近メルマガに貢献してないのと、ゆめゆめゆうかさんが風邪でダウンしちゃってるなんてこともあり、ピンチヒッター的に登場してみました。以下はカレンダーを作るときなどに便利なスクリプトです。指定された年(西暦)月の日数を返します。:d=30return;----------------------------------------来年は閏年(うるう年)。その計算もバッチリ入ってます。ちなみに閏年の判定条件は以下の通り。・西暦が400で割り切れる年はうるう年である。・400で割り切れない場合、西暦が100で割り切れる年はうるう年ではない。・100で割り切れない場合、西暦が4で割り切れる年はうるう年である。・4で割り切れない場合、うるう年ではない。今回は、何となーくワンポイントテクニック的な解説になりましたな。それでは皆さま、また会う日まで。第16回このコーナーでは、HSP3の変わった使用例や、気がつきにくい機能などを紹介していきたいと思います。ファイルを扱うツールなどを作成していると、フォルダ内にあるファイル一覧を取得する必要が出てくる場合があります。複数のファイルに対して、同じ処理を行なう時などは、フォルダ内や特定の拡張子だけをまとめて扱うと効率的です。このような処理を「バッチ処理」と呼んだりします。HSP3では、ファイル一覧を取得するための命令として「dirlist」が用意されています。これは、指定されたフォルダ内にあるファイル全てか、または名前に特定のパターンを持つものを複数行文字列として取得できるというものです。ファイル名を特定するためには「ワイルドカード」と呼ばれる表現を使用します。「*.*」の場合はすべてのファイルを表しています。dirlist命令でフォルダ内のファイル一覧は取得できますが、その中にあるフォルダの下も含めて、すべてのファイルを取得したい時には困ってしまいます。そんな時のために、dirlistの上位バージョンにあたるdirlist2命令が拡張プラグインHSPEXT.DLLで提供されています。dirlist2命令は、フォルダの下の階層も含めてすべてのファイルを取得する機能を持っています。更新日時など付加情報も取得することができるのです。以下は、変数dirで指定したフォルダ以下のファイル一覧を表示するサンプルです。取得される内容は大きく変わりません。敵が弾を撃つ前回、背景がスクロールするゲームのようなものでした。今回は何をしようかな?と思っていたところに、ちょっと前に掲示板に”敵が弾を撃つ”方法に関しての質問があったので、ちょっと実験してみることにしたよ。スクリプトが長くなるので、今回は背景スクロールは無しにして、プレイヤーは動いて、敵は固定、弾がプレイヤーを目指して発車される、という事にしてみた。X座標とY座標をみて、割り算で1回分の増分を、と思ったけどここでは全部整数になっちゃうんだよねぇ。おかげで、プレイヤーに向けて弾を撃ってきても全然あたらない安全地帯が出来ちゃう。高度な計算でもないし、動きも単純だなぁ。その改造は見てる読者にお任せします。改装して、カッコ良く、正確に、弾を撃たせまくって下さいね。メルマガ投稿募集中”HSPTV!メルマガ”への投稿をお待ちします。募集するコーナーは(1)「教えて!おにたま!!」HSPの素朴な疑問をHSPの作者おにたま氏に聞いてみよう!というコーナー。知りたいテクニックなどを直接聞くチャンス。(2)「もーりおのつぶやき」つぶやき、短歌や川柳を受け付けてます。(3)「こんなHSP3本が欲しい」あなたが欲しい、読んでみたいHSP3の本を教えてください。したら実際に本になるかも。メルマガに関する要望や感想、日常のお便りもお待ちしています。男子校みたいなメルマガでした。こんなのもイイかもね。今週お休みの「もーりおのつぶやき」では、つぶやき、短歌や川柳を受け付けてますよ。応援のメッセージもお待ちしてます。それから、ちょっとお知らせ。「逆引きHSP3プログラミング事典」でおなじみ、さくらさんのサイト”HSPNEXT”がサーバーを換えてリニューアルです。http://hspnext.com/HSP関連の豊富な情報が集まってるので、是非一度訪ねて見てください。21:21口臭チェッカ。