2018年03月26日

フリーソフトでWMPをもっと活用!

~WMP、使ってますか~?

Windowsに標準装備されているメディアプレイヤー、WMPことWindows Media Player。みなさん、使ってますか~?
中には、フリーソフトのほうが軽いからと、そちらのほうを使っている方も多いのではないでしょうか?

もったいない!

フリーソフトで公開されているWMPをカスタマイズできるツールを使えば、WMPをもっともっと楽しむこともできるんですよ。

~プラグインでビジュアルを強化

プラグインと呼ばれるソフトをWMPに組み込むことで、WMPの機能を広げることができます。
裏編がお勧めするのは、FRUITY (フルーティ)と、SWEETY(スウィーティ)の二本。
前者は、WMPにレベルメーターを表示させる機能を追加するプラグイン、後者は歌詞を表示させるものです。

特にフルーティのほうは、スクリーンショットを見てもわかる通り、表示されるメーターもかなり本格的で、しかも細かいカスタマイズもできるので、音楽を聴きながら、画面を見て楽しみたい人にも、本格的にサウンドを解析したい人にもお勧めです。

pm1803-01.JPG
▲ フルーティ導入後の画面

スウィーティのほうも、マシンパワーが足りなくても動作できたり、フェードアウト効果もあったりと、歌詞を見ながら聞きたい人にとってもおすすめだと思います。

なお、両者とも、IT雑技団の作品です。 ダウンロードはこちらからどうぞ。

・FRUITY (フルーティ) http://www.vector.co.jp/soft/win95/art/se246529.html
・SWEETY(スウィーティ) http://www.vector.co.jp/soft/win95/art/se181249.html

~WaveVisualizerでやっぱりビジュアルを強化

WaveVisualizerは、音楽に合わせて、波紋が広がるようなエフェクトを表示させるものです。
DirectX9やps_2_0以上に対応したグラフィックカードが必要ですが、こちらも音楽を聴きながら、画面を見て楽しみたい人におすすめだと思いますよ。

WaveVisualizerは、punisher 氏の作品で、こちらからダウンロードできます。

http://www.vector.co.jp/soft/winnt/art/se385721.html

~スキンで外観をかっこよくorかわいく

スキンと呼ばれるものを導入することで、外観を変えることができます。
インターネットには、色々なスキンがありますが、裏編が紹介するのは、この二本です。

pm1803-02.JPG
▲ Cosmic Player

pm1803-03.JPG
▲ WMP-Skin [ きつね耳 ぷれいやー ]

上のスキンはとてもかっこいいし、下のほうはキツネ耳の女の子がかわいいですよね。
ちなみに、下のきつね耳ぷれいやーは、ボタンにカーソルを合わせると、女の子がにっこりしますよ^^

また、フリーソフトのツールを使用することで、自作のスキンを作ることもできます。自信のある方は作ってみてはどうでしょうか?

なお、上のスキンは、こちらからダウンロードできますよ。

・Cosmic Player http://www.vector.co.jp/soft/win95/art/se160876.html
・WMP-Skin [ きつね耳 ぷれいやー ] http://www.vector.co.jp/soft/win95/art/se206412.html

~まだまだ、WMP!

この記事、いかがでしたでしょうか?
フリーソフトのメディアプレイヤーにお株を奪われがちなWMPですが、まだまだ。
色々なツールを使うことで、まだまだ現役で頑張り続けることもできます。

フリーソフトもいいですが、たまにはWMPにも目を向けてみませんか?

※次の更新は、4月2日、特集『OpenOffice.org Portableを使ってみました!』の予定です。お楽しみに!
posted by 裏編 at 09:13| Comment(0) | PCメディア情報 | このブログの読者になる | 更新情報をチェックする

2018年03月22日

LGP講座(かり~第7回 拡大・縮小させてみよう!

yuu_bustup.jpg
優:こ、こんにちわ……柊優です……
 今回も、LGP講座!(かり、よろしくね……

haruka_bustup.jpg
陽香:永乃原陽香です。今回もよろしくお願いします。

airi_bustup.jpg
愛梨:結城愛梨です。よろしくお願いしまーすっ。
 ねぇねぇ、優ちゃん。今日は何するの?

yuu_bustup.jpg
うん……今回は、画像の拡大・縮小について勉強していくよ……。
よろしくね……。

airi_bustup.jpg
拡大・縮小かー。それは楽しみだなぁ

haruka_bustup.jpg
それでは、今回もよろしくお願いしますね。

~実は……
yuu_bustup.jpg
さて、その拡大縮小なんだけど、実は知らず知らずのうちにやっていたんだよ・・・

airi_bustup.jpg
えぇっ!? ほんとなの!?

haruka_bustup.jpg
はい。画像を表示させるときに、G@CHRCOPYでコピーしましたよね?
コピーすると、それを自動的にウィンドウの大きさに拡大して表示するという仕様になっていたので、わたしたちが意識していなくても、拡大縮小をおこなっていた、というわけですよ。

airi_bustup.jpg
そうなんだー。でも、そしたらそのままの大きさで表示したり、好きな大きさに拡大縮小したりするときには困るなぁ。

yuu_bustup.jpg
その方法はちゃんとLGPに用意してあるよ……。
それが、G@CHRRECT命令なんだ……。

airi_bustup.jpg
きゃられくと?

haruka_bustup.jpg
ものは試し。さっそく使ってみましょう。
下のプログラムを打ち込んで、実行してみてくださいね。

-----
CH = G@SETUP( 640 , 480 , 16 , 1 ) //画面初期化
BM = G@CHRLOAD( "AIRI.BMP" ) //画像読み込み
G@CHRRECT( CH , 100 , 100 , 300 , 300 ) //コピー先の矩形範囲を指定
G@CHRCOPY( BM , CH ) //画像を画面にコピー
G@FLIP( ) //フリップ
LOOP
S@WAIT( ) //システムウェイト
ENDLOOP
-----

airi_bustup.jpg
はーい。かたかたかた……実行してみるよっ

lg-1803-01.JPG
▲ 実行結果
(クリックすると、元の大きさで表示されます)

airi_bustup.jpg
あたしの絵が画面に表示されたよっ。
しかも、画面ぴったりじゃなくて、さらに拡大されてるっ。

yuu_bustup.jpg
それじゃ今度は、G@CHRRECT命令の、後ろの二つの数字、300,300の部分を、150,150に変えて実行してみて……

airi_bustup.jpg
はーい。かたかたかた……

lg-1803-02.JPG
▲ 今度は縮小して表示
(画像をクリックすると、元の大きさで表示されます)

airi_bustup.jpg
今度は縮小されて表示されたよっ。すごいなぁ。

haruka_bustup.jpg
さて、それではこの命令を見ていきましょうか。
このG@CHRRECT命令は、このようにして使われます。

-----
G@CHRRECT(指定先, X座標1, Y座標1, X座標2, Y座標2)
-----

yuu_bustup.jpg
指定先というのは、コピーされる範囲、コピーする範囲を指定するもののことだよ。
これには、サーフェスの番号が入る……。
今試してみたのでもわかる通り、キャラクターも含むからね・・・

airi_bustup.jpg
なるほどー。 だから、CHを使っていたのかー

haruka_bustup.jpg
そして、実際にコピーされる範囲、コピーする範囲を指定するのが、そのあとの四つの数字です。(X座標1, Y座標1)から(X座標2, Y座標2)までの直線を対角線とする四角形の範囲がコピーされたり、コピーしたりするんです。

airi_bustup.jpg
あれ? それじゃ、コピー元とコピー先両方に、G@CHRRECT命令を使った場合はどうなるの?

yuu_bustup.jpg
それはとっても簡単……。コピー元のサーフェスの、コピー元のG@CHRRECT命令で指定された範囲が、コピー先のサーフェスの、それのG@CHRRECT命令で指定された範囲に拡大・縮小されてコピーされるんだ……

airi_bustup.jpg
なるほど、そうなのかー……

yuu_bustup.jpg
これを色々と使うと、面白いことができるよ。試してみてね……

airi_bustup.jpg
はーい。

yuu_bustup.jpg
それと、拡大縮小なしでコピーしたい場合は、G@CHRCOPYF命令を使うといいよ……。基本的な使い方は、G@CHRCOPY命令と同じだからね……。

airi_bustup.jpg
うん、わかったよー

yuu_bustup.jpg
それじゃ、今回はここまで……。
次回は、抜き色の指定について説明していくよ……。よろしくね……。

haruka_bustup.jpg
では、また次回お会いしましょう。 ごきげんよう

airi_bustup.jpg
またね~

※次の更新は、3月26日、PCメディア情報の予定です。お楽しみに!
posted by 裏編 at 09:13| Comment(0) | LGP講座(かり | このブログの読者になる | 更新情報をチェックする

2018年03月19日

URAURA!Game Review:グラディウス外伝

~いざ、出撃!
さて、裏編の印象に残っていたり、好きなゲームを紹介するこのコーナー。
今月はコナミの『グラディウス外伝』をレビューしましょう。
このゲームのポイントは、『新機軸』と、『ユーザーフレンドリー』です。

~新機軸
まずは新機軸から紹介しましょう。
新機軸のひとつは、パワーアップシステムです。
従来のグラディウスシリーズでは、パワーアップの仕方を選べるようにはなっていますが、基本的には自機はビックバイパー一種類だけとなっています。ですが、このグラディウス外伝では、最初に自機を選ぶようになっており、その自機によってパワーアップが異なるようになっているのです。
パワーアップが違うと自機も違うわけですから、たとえばビックバイパーでクリアしたら、次は別の機体で……というように、やりこもうという気になれますよね。
さらに、ステージごとのギミックも、これまでの作品からは考えられないられないような、凝ったものになっています。例えば、破壊するとモアイが崩れ落ちたり、レーザーを発射するモアイがいたり、地形や敵や弾を吸い込むブラックホールが出てきたり……。
今までのシリーズとはまた違った新鮮さが感じられて、さらに面白く感じられるのではないかと思います。
あと、これはちょっと新機軸とは違うかもしれませんが、敵や自機のグラフィックが、従来の作品よりもさらにかっこよく描きこまれています。まさに、プレイステーションならではのグラディウスと言っても過言ではないかもしれませんね。

~ユーザーフレンドリー
次に、『ユーザーフレンドリー』についてです。
まず、従来のシリーズでは、パワーアップゲージの並び方は、『スピード→ミサイル系→ダブル系→レーザー系→オプション→バリア系』と、常に一定でした。
しかし、『グラディウス外伝』では、この順番を自在に並び替えることが可能になったのです!
これによって、オプションを最初のほうに配置して、やられた後の建て直しがスムーズにできるようにしたりとか、バリアを最初のほうにする、といったパワーアップの戦略を考えることが可能になったのです。
さらに、パワーカプセルもたくさん出てくるので、やられた後の復活も容易になっているのが、初心者には嬉しいところです。
あ、もちろん、難易度設定もできるので、さらに初心者にもとっつきやすくなってますよ。

~最後に
さてさて、ここまで『グラディウス外伝』について説明してきましたが、どうでしたでしょうか?
このゲームは、裏編の、一番のお気に入りのひとつで、PS3どころかPS4までが発売され、PS2用に最新作『グラディウスⅤ』が発売されている現在でも、時々取り出してプレイしています。そのぐらい、とても面白いゲームなのです。
読者の皆さんも、ぜひプレイしてみてはどうでしょうか? やりてのシューティングゲーマーも、初心者の人も楽しめるグラディウスですよ^^

※次の更新は、3月22日、「LGP講座(かり」の予定です。お楽しみに!

posted by 裏編 at 09:12| Comment(0) | その他のゲーム情報 | このブログの読者になる | 更新情報をチェックする

2018年03月15日

師匠のJava道場~第7回・クラスについて知るのじゃ!(後編)

師匠T:さて、今月も始まったの。師匠のJava道場。
 今回は、アクセス修飾子と、文字列について学び、そしていよいよクラスを実際に作ってみようと思う。
 準備はよいか?

弟子D:はい、師匠!

師匠T:うむ。弟子も燃えておるようじゃの。いいことじゃ。それでは始めるぞ!

▽アクセス修飾子とはなんぞや?▽

師匠T:まずは、アクセス修飾子からじゃ。これは、クラス、メソッド、変数が、他所からアクセスできるかどうかを示したものじゃ。これには、次の四つがある。
・public……どこからでもアクセスできる
・protected……自分のファイルからはどこでもアクセス可能。他所のファイルからは、サブクラスからのみアクセス可能。
・private……自分のいるクラスからのみアクセスできる

師匠T:例えば、sisyoというクラス内に、privateで宣言された変数があった場合、この変数は、sisyoクラスの中からしか、アクセスすることはできぬのじゃ。

弟子D:一方、publicで宣言された場合は、どこからでもアクセスできるというわけですね? ……あれ? 師匠、四つあると言っておきながら、実際には三つしかありませぬが。ははーん、師匠ももうボケ……いてっ。

師匠T:たわけが。わしはまだまだ若い。アクセス修飾子を省略した場合も含むから、四つというわけなのじゃ。アクセス修飾子を省略した場合は、自分のファイルからなら、どこからでもアクセスできる。他のファイルのクラスなどからはアクセスできぬのじゃ。

弟子D:なるほど。それで師匠。protectedのときに述べられているサブクラスとはなんぞや?

師匠T:うむ。それは、あるクラスをもとにして作られたクラスのことじゃ。ちなみに、そのもとになったクラスのことは、スーパークラスという。

弟子D:ふむふむ。

師匠T:このあるクラスを基にして違うクラスを作ること……継承というがの……については、別の機会に説明する。今は、サブクラスは、スーパークラスから作られたクラスであることを覚えておけばよい。

弟子D:ということは、protectedで宣言された場合は、アクセスするクラスが、別ファイルにあるクラスから作られたサブクラスであれば、アクセスできる、ということですね。

師匠T:うむ、その通り。さて、ついでにstaticについても説明しておこう。一般的に、変数やメソッドなどにアクセスするためには、事前にそのクラスを実体化……これをインスタンス化という……させる必要があるが、staticがつけられたクラス、メソッド、変数は、インスタンス化させてなくてもアクセスすることができるのじゃ。

弟子D:おぉっ、それは便利ですね!

師匠T:じゃが、そんな便利そうなstaticにも一つ問題がある。staticで宣言されたメソッドからは、staticでないメソッドをアクセスすることはできぬのじゃ。

弟子D:なるほど……。

師匠T:なお、アクセス修飾子やstaticは、クラス名やメソッド名、変数名の前に、次のようにしてつける。

----------
[アクセス修飾子][static][型]名前
例:
public int a;
private static long b;
----------

師匠T:それと、protectedは、メソッドや変数にしか使うことができぬので、注意すること。

▽文字列の正体とは!?▽

師匠T:さて。いよいよ文字列についてじゃ。

弟子D:はい、師匠! 確か前、「文字列は特別で、変数では扱えない」と言っておられましたが。

師匠T:うむ。それはなぜか、いよいよ語るとしよう。実は文字列は……。

弟子D:ごくり。

師匠T:クラスであり、オブジェクトであるからなのじゃ!!

弟子D:な、なんと!?

師匠T:文字列は、Stringクラスというクラスのインスタンスなのじゃ。そして、この場合、文字列を変数に格納するというのは、実際には、その変数と、文字列……Stringクラスのインスタンスとを結びつける作業なのじゃ。

弟子D:つまり、入れているわけではなく、変数には文字列へのリンクが張られている、と?

師匠T:うむ、そのようなイメージで問題なかろう。それゆえに、この文字列と文字列変数には、いくつか、普通の変数と違う振る舞いや制限があるのじゃ。

弟子D:それはどのような?

師匠T:まず一つ。文字列は変更させることができない。

弟子D:ええええ!? だって、

----------
String s = "abc";
s = "def";
----------

弟子D:ってやったら、ちゃんと動きますよ?

師匠T:うむ。ちゃんと動く。だがそれは、abcという文字列が変わったからというわけではない。

弟子D:???

師匠T:おぬし、さっき言っておったであろうが。変数には何が張られている?

弟子D:あっ! 「文字列のリンク」!

師匠T:その通り。つまり、上の文からすると、書き換えているように見えるが、実際には、defという文字列(実際には、Stringクラスのインスタンス)を新しく作って、変数sからのリンクを、最初のabcという文字列から、新しく作られたdefという文字列に張りなおしているのじゃ。

弟子D:な、なるほど……。

師匠T:話を戻すぞ。そして二つ目。文字列変数は、通常の方法では比較することはできぬ。そのためには、Stringクラスに備わっている、equalsというメソッドを使う必要がある。使い方はこうじゃ。

----------
[文字列変数].equals(比較対象);
例:
s.equals("abc");
----------

師匠T:このメソッドは、文字列変数の中身が比較対象と同じならばtrueを返すぞ。なお、Stringクラスには他にも、文字列を扱うメソッドが色々とある。興味があるなら、Javaについての本やサイトを読むがよい。

弟子D:はい、師匠!

▽クラスを作ろう!▽

師匠T:さて、ではいよいよクラスを作ってみよう。今回は、fireメソッドを実行すると、「BAN!」と表示する、zakuクラスを作ることにする。

弟子D:はいっ!

師匠T:まずはクラス名の宣言からじゃな。どうするかは覚えておるか?

弟子D:え、えーとえーと……。

師匠T:こう書くのじゃぞ。改めて頭に刻みなおすがよい。

----------
[アクセス修飾子]class[クラス名]
----------

弟子D:ということは……

----------
public class Zaku {
----------

弟子D:こうですかね?

師匠T:うむ、その通り。次はコンストラクタじゃな。コンストラクタはこう書くぞ。覚えておるか?

----------
public クラス名(引数)
----------

弟子D:つまり、メソッド名が、クラス名と同じメソッドを作ればいいんですよね?

師匠T:うむ、その通りじゃ。さて、今回は引数はなしでいこう。とすると、こうなるぞ。

----------
public Zaku() {
----------

師匠T:コンストラクタの内容じゃが、"Stand Up!"と表示させることにしよう。ということで、さっきのと合わせて、コンストラクタはこうなる。

----------
public Zaku() {
  System.out.println("Stand Up!");
}
----------

師匠T:さて、次はfire……の前に、セッター、ゲッターのテストとして、弾数を表すint型の変数shotの内容を表示、および設定するゲッター『getShot』とセッター『setShot』も作るとしよう。

弟子D:変数shotは、どこで宣言すればいいんですかね?

師匠T:これまで学んだことと、セッター、ゲッターの意味から考えるのじゃ。セッター、ゲッターはそれを通して、変数の中身を変えるためにある。他方、変数の内容は、クラス内のセッター、ゲッターのどこからでもアクセスできるようにしなくてはならぬ。ということは?

弟子D:あっ! クラス変数として宣言しなくちゃならない、ということですね! ということは、public class Zaku {の下に書くのが正解なのでは? それも、privateとして。

師匠T:うむ、その通り。見事じゃ。その調子で、セッターとゲッターも作ってみるがよい。

弟子D:はい! えーと……こうでしょうか?

---------------------------------------
public int getShot() {
  return shot;
}

public void setShot(int inShot) {
  shot = inShot;
}
---------------------------------------

師匠T:うむ。ゲッター、セッターの両方とも、publicで宣言しておるな。正解じゃ。さて、本題のfireメソッドじゃが、これは簡単じゃな。

---------------------------------------
public void fire() {
  System.out.println("BAN!");
}
---------------------------------------

師匠T:完成したクラスのプログラムがこうじゃ。

-------------------------------------------
public class Zaku {
  private int shot;

    public Zaku() {
      System.out.println("Stand Up!");
    }

    public int getShot() {
      return shot;
    }

    public void setShot(int inShot) {
      shot = inShot;
    }

    public void fire() {
      System.out.println("BAN!");
    }
}
-------------------------------------------

師匠T:今回はここまで。次回は、クラスからいったん離れて、変数を扱ううえで重要なことの一つ、キャストについて説明する。復習、予習をしっかりしておくがよい。


※次の更新は、3月19日、URAURA Game Reviewの予定です。お楽しみに!
posted by 裏編 at 09:12| Comment(0) | 師匠のJava道場 | このブログの読者になる | 更新情報をチェックする

2018年03月12日

師匠TのチャレンジARSゲーム!~第六回:『宇宙』(2002年・小野田洋仁郎(黒) 氏)

ca1803-00a.JPG

うむ、師匠Tである!
今回は、フリーゲームのアドベンチャーゲーム『宇宙』を紹介するぞ!
仕掛けもストーリーも、よく練られた、フリーゲームとしてはよくできた一本じゃ。
これはやりごたえがあるそうじゃぞ。

それではいくぞ。

『どんなゲームも完全制覇ぢゃ!』

~STORY
ca1803-00b.JPG
ca1803-00c.JPG
ca1803-00d.JPG
21世紀後半頃、人口が急激に増加し始めた。それに伴い地球の環境も悪化し、その対策が練られた。
その結果、全世界が一丸となり、浮浪者や下層階級の赤ん坊などをカプセルで宇宙に放り出した。
しかしそれも根本的な解決にはならず、地球環境の改善が急務となった。
そんな中、どこからともなくやってきたUFOの襲撃……さらに世界は混乱を極めていた……。
(Readmeより)

~本編
ca1803-01.JPG
物語の始まりじゃ。
まずは、宇宙船の中からスタートじゃ。
ここではまず、操作パネルの上にあるメモに注目じゃぞ。

ca1803-02.JPG
外に出てみた。
北のほうに町がある。まずはそこに行ってみようかの。

ca1803-03.JPG
この男の話では、子供を作ってはいけない、という政策がとられているそうな。
いやな世の中になったものじゃのう。

ca1803-04.JPG
厳重に警備された施設。
今は中に入ることはできぬようじゃ。しかし、この中には何があるのじゃろうか……。

ca1803-05.JPG
女性の話では、この地球は、絶えずUFOの攻撃にさらされているそうじゃ。
そうそう、このゲームでは、一度聞いた単語についても聞いてみることが、攻略のポイントじゃぞ。

ca1803-06.JPG
ホームレスがいるぞ。
彼の話では、本田という人物が、一連の政策の元凶のようじゃ。むむむ、そういえば、あのメモにも……

ca1803-07.JPG
その本田の家の前。
しかし、鍵がかかっておって入ることはできぬ。
じゃが……

ca1803-08.JPG
あるフラグを立てれば、このように状況が変わる。
さらに、あることをすれば、路地に入ることができるようになるぞ。

ca1803-09.JPG
裏庭に潜入できたぞ。
……むむむ?

ca1803-10.JPG
この家の住人らしい娘と出会うことができたぞ。
そしてこの物語は、ここから大きく動き出すのじゃ。
この後どうなるかは……

ここから先は、キミの目で確かめるのぢゃっ!!
健闘を祈っておるゾ!!


※このゲームの著作権は、小野田洋仁郎(黒)氏にあります。
---------
※次の更新は、3月15日、『師匠のJava道場』の予定です。お楽しみに!
posted by 裏編 at 09:33| Comment(0) | チャレンジARS | このブログの読者になる | 更新情報をチェックする