メイン



2007年08月10日

Visual C#でExcelを操作する

先日、Excelの資料の山のようなデータを整理する作業を行いました。
非常に単純作業で、何時間もかかりました。

プログラムを使って処理してしまえばもっと楽になるのになぁと思いながらも、
結局手作業で終わらせました。
私はエクセルのマクロもわからないし、勉強している時間もなかったので。

Visual C#を使って、そのような処理が書けたらいいのになぁ
と思ったので、あとで調べてみました。

意外にネットに情報がない(VBばかり)なのが驚きでしたが、
Nagadon の C# 入門(メールマガジン)によい記事がありましたので、それを参考に
(元のサンプルより簡略化してあります)単純なサンプルを作ってみました。

CsExcel.png

せっかくなので以下に作成したプロジェクトを置いておきます。

■Visual C#でExcelを操作するサンプルプロジェクトのダウンロード
Visual C#でExcelを操作するサンプルプロジェクト

※Visual Studio 2005で作成。

※十分に動作確認したわけではないですのでご使用は自己責任でお願いします。

2007年06月17日

おてがる画像変換Ver 0.2.4公開

ひさびさにおてがる画像変換のバージョンを行いました。
今回は質問やリクエストの内容を反映したものです。


1.画像をドロップするべきウインドウがわかりにくかったため、メインウインドウにメッセージを出しておくように変更(プレビューウインドウではなく、メインのウインドウにドロップしてもらうように)

→なんか、メッセージをだしておくだけなのに意外とめんどうでした(笑)


2.今までは文字列のスタイル(太字・斜体など)は保存できなかったので保存できるように変更。
今まではそこの部分はうまくいかないこともあって、作ってませんでした。

今回、調べてみたところblog.C#さんのFontConverterクラスを使うという部分が参考になりました。感謝です。

→リクエストしてくださった方がいたため対応しました。
実際にソフトをたくさん使ってくれている方を見つけられると励みになります(笑)

-----

しかし、いつもそうなのですが、
機能追加したり、仕様変更したりするとすると、そこで新しいバグをつくちゃったりしてないか不安です(苦笑)
(退行テストなんて全部する余裕ないですorz)

-----

他のリクエスト
コマンドラインオプションの実装・・・引数の数がすごいことになりそう+需要あるのか不明なのでしばらくは・・・(苦笑)
プレビューの自動更新・・・今度試しにプレビューの自動更新版を別途作ろうかと検討中です(笑)

2007年04月22日

最近の出来事

Vectorにおてがる画像変換のレビューが掲載されました。うれしかったです。
いままで作った中でも実用度の高いソフトだと思うので、使ってみてください。



あと、ホームページのデザインを変更しました。
(まだ一部のページデザイン昔のままですが、比較的新しいページは随時更新していきたいと思います。)


今回のデザインは以前に比べ、シンプルにしました。以前はグラデーションの背景を使っていましたが、一部文字が見づらいのが気になっていました。
今回は完全な白背景なので以前より見やすいと思います。


今までホームページを作り、いろいろ試してきましたが、白背景が一番いいのかもしれないと思いました。画像との親和性も高いと思います。


また、メニューをFlashを使わないものにしました。
これでPDAからアクセスしても大丈夫です(そんな人いるかわかりませんが)


さらに、フレームを廃止し、CSSを使って表示するようにしました。
これでフレーム内のページにきてしまい、メニューが表示されなくて困るということが減ります。


以前の場合は解像度が高いディスプレイで見ると横に広がってしまい、まとまりのない感じでしたが、
今回は一定の範囲内にきっちりとおさまるため、まとまりがあるページとなりました。


birdsoft20070421_1.png
↑以前のホームページ。明るいデザインだが、グラデーションのせいで見づらい部分もあった。

続きを読む "最近の出来事" »

2007年04月07日

補間方法にBicubicもつかえる画像変換ソフト - おてがる画像変換

前回の記事で書いた画像のサムネイルとHTMLコードを自動生成するソフトを改変して、画像変換ソフトを作りました。

このソフトを使うとたくさんの画像のサイズをまとめて変更することができます。
操作はこの種のソフトによくあるように、変換したい画像をウインドウにドラッグアンドドロップするだけです。

対応形式はJPEG,PNG,BMP,TIFF,GIF

また、画像のサイズを変える際の補間方法を指定できます。
NearestNeighborやBilinear、Bicubicなどを選べます
Bicubicにすると高品質のまま小さくできるのでなかなかよいと思います。

ImageConverter_0.png

続きを読む "補間方法にBicubicもつかえる画像変換ソフト - おてがる画像変換" »

2007年03月31日

ブログ更新を便利にするソフトその3

前回の記事で書いた画像のサムネイルとHTMLコードを自動生成するソフトをさらにさらに改良して、操作性の向上、HTML出力機能のを強化などをしました。


CapHtml_0.png
↑かなり改良した。HTMLのリンクをはり直す処理に苦戦。


◆サンプルHTML
出力したHTMLのサンプルページ。最近撮影した春の写真(2007年版)です。
出力HTMLに手を加えていません。
写真をクリックすると拡大写真を見られます。

出力したHTMLのサンプルページその2。電卓を使い基数変換する例を作ってみました。
出力HTMLを多少変更しました。
サムネイルがあるものは画像をクリックすると元画像を見られます。

出力したHTMLのサンプルページその3。画像クリック時にLightboxを使い表示します。
サムネイルをクリックしてみてください。Lightboxに関する詳しい説明やサンプルはこちらのページをご覧ください。

このようなHTMLを比較的短時間で作ることができるのが特長のひとつです。

続きを読む "ブログ更新を便利にするソフトその3" »

2007年03月29日

ブログ更新を便利にするソフトその2

前回の記事で書いた画像のサムネイルとHTMLコードを自動生成するソフトをさらに改良して、FTPへアップロードする機能(簡易)もつけました。

これで

画像キャプチャ→生成された画像をボタンひとつでアップ→生成されたHTMLコードをコピペ
で以前より手軽にブログの画像をまとめて更新できるようになりました。
いつも同じ場所に画像をアップロードしている方には便利かもしれません。

また、いままで画像はPNG形式だけしか処理しませんでしたが、JPEG形式も選べるようにしました。
さらに、画面の一部をキャプチャする機能もつけました。(マウスカーソルを動かして指定する)


screencapture2_1.png
↑少し使いやすくなった。画面の一部分を簡単にキャプチャしてアップロードできる。
HTMLのコードも生成されるため、ホームページの作成支援になるかも。

続きを読む "ブログ更新を便利にするソフトその2" »

2007年03月21日

ブログ更新を便利に - 画像のサムネイルとHTMLを自動生成するソフト

私はMOVABLE TYPEを使ってブログを更新していますが、たくさん画像をアップロードする際、
ひとつづつ

1.画面をキャプチャ
2.「ファイルのアップロード」からアップロード
3.画像の横幅が大きい場合、サムネイルを作成(サムネイル作成にチェックをいれ、サイズ入力)
4.HTMLコードをコピー

をしていますが、結構面倒です。
特に画像のアップロードとリサイズが面倒なため、繰り返すのが苦痛でした。

画像をまとめて縮小FFFTPでまとめてアップロードしてもよいのですが、その場合個別にHTMLタグを書くのが面倒でした。

そこで画像のサムネイルとHTMLコードを自動生成するソフトを作ってみました
(ソフト名は仮です。)

screencapture_0.png

続きを読む "ブログ更新を便利に - 画像のサムネイルとHTMLを自動生成するソフト" »

2006年10月22日

ゲーム作成日記 - ゲームデータを変換

現在、HSPで作成中のゲーム「The Adventure Of Holy Bird」の一部をC#に移植しようかとたくらみ中です。(最近忙しいのでできるかわかりませんが^^;)

さて、このゲームの構成は以下のようになっています。
(図の「HSP」の内側の部分)

ゲームをC#で作るのにあたり、最初は全てのデータを作り直そうかと思いましたが(マップエディタもより便利なものに作り直しました)、作っていくうちに今までに作ったものも有効に活用しようと思ってきました。

gamekousei.png

今までのゲームではマップデータはバイナリでしたが、扱いが容易でデバッグが容易であるので、新しいマップデータはテキスト形式にしました。
(内容も古いものと一部異なります)

そのため、HSP製のマップエディタを改造し、マップデータをテキスト形式に変換して出力する機能をもつ「マップコンバータ」をつくり、C#のマップエディタからも扱えるようにしました。これで既存のマップデータを有効活用できます。

さらに、マップデータが増えてくるとどれがどのステージなのかわからなくなってきます。
多数のファイルを一つ一つエディタで開いて、希望のマップを探していくのは大変です。
ファイル名と内容をメモしておくのもよいですが、できればもっと楽をしたいところです。

そこでテキストのマップファイルを画像として保存して閲覧できる「マップデータ出力ツール」
を作りました。画像としてプレビューできるので以前より少し便利になりました。

さて、上図にでている敵データは今のところ変換予定はありません。
仕様をいろいろ変更予定なのでまた作り直しです。

周辺ツールの作成が面白くて「ゲーム本体」がなかなか進みません。
完成はいつになるやら・・・(苦笑)

続きを読む "ゲーム作成日記 - ゲームデータを変換" »

2006年10月14日

マップエディタ作成中

本格的に(?)C#にはまってきました。
最近は前回紹介したマップエディタをより汎用的に作り直しています

・マップサイズの制限の撤廃(任意のサイズのマップを作成可)
・ミニマップの表示(簡易・詳細表示の二種類)
・ミニマップをドラッグで編集範囲を変更

などを加えました。
C#はネットや本のTIPSを参考にすればHSPより楽にツールが作れることがわかりました。
(ほとんど何も知らなくても大丈夫といっていいくらいです(笑))

続きを読む "マップエディタ作成中" »

2006年10月08日

Visual C#は使いやすい(その2)

今日もひとり言を。

Visual C#でマップエディタを作ってみました。
なぜマップエディタかというと、C#でゲームをゆっくり作成中だからです(いつ完成できるか不明)
まだ不具合もありますが、範囲選択してマップチップをコピー・切り取りして張り付けることや
「元に戻す」「やり直し」の機能をつけてみたりしました。

作ってみて思ったことは・・・やはりクラスがあると便利です。
私はまだクラスの半分も活用できていない気がしますが、それでもデータとメソッドをまとめて管理できたりするのは使いやすいと感じました。

私は今までHSPでWindowsプログラミングをしていた関係上、どうしてもHSPと比べてしまいますが、
使えば使うほどC#のほうが便利になってきました。
HSPで苦労していたことがC#ではうそのように解決します(笑)
というわけで、WindowsプログラミングはHSPからC#のほうに乗り換えようと思います^^;

前回「C#はJavaにかなり似ている感じである」と書きましたが、細かい点では違う部分も結構あるので注意したほうがいいかもしれません(苦笑)
Javaでの記述上の問題点がC#では改善されていたりします。
(例:メソッドをオーバーライドする際は明示的にoverrideを記述しなくてはいけない など)
さらに、「プロパティ」などさらに便利な機能も増えています。


MapEditorCs.png
今回C#で作成したマップエディタ
データはCSV形式で読み書きする簡単なもの。まだまだ汎用性は低い


続きを読む "Visual C#は使いやすい(その2)" »

2006年09月28日

Visual C#は使いやすい

突然ですが、Visual C# 2005 Express Edition というものがあります。
これはフリーで提供されているということ、また身近に使っている人がいて便利そうだったので
Visual C# 2005(以下VC#)をちょこっと使ってみました。

使ってみて驚いたのが
・ウインドウ(フォーム)のデザインや配置が視覚的に行える
・ボタンクリックなどの際の各種イベントの設定も簡単
ということです。

例:
・メニューバー・ツールバー・タブコントロールなどのついたウインドウ(フォーム)が簡単に作れる
・タスクトレイアイコンやバルーンチップを表示したり、なおかつタスクトレイアイコンを右クリックで簡単にコンテクストメニューを出せる


もちろんこれはVB(Visual Basic)やVC(Visual C)にもいえることかもしれません。
私はVBはやったことはありませんが、VCなら少しだけさわったことがあります。
猫でもわかるプログラミングのサイトと本を参考にしました。)

ところが、VCとVC#を比べてみると圧倒的にVC#のほうがお手軽にアプリケーションを作れるという気がしました。VCでは苦労した(またはめんどうな)ものがVC#では楽に作れてしまいます。
(右クリックでコンテクストメニューが出せてしまうところなど)

さらに文法もぱっとみた感じJavaに似ている感じで親しみがもてました。
まだC#はほとんど勉強していないですが、使いこなせたら今までより効率が大幅にアップすると思いました。(慣れればHSPよりお手軽かも??)

ということで、これからはC#使えるようになりたいと思いました。

◆C#の参考サイトへのリンク

DOBON.NET

C# Programming

C#,VB.NET入門

初めてのC# 〜 覚え書き 〜

改訂版C#入門





続きを読む "Visual C#は使いやすい" »

2006年09月24日

Javaでシューティングゲーム(Javaアプレット) その2

◆シューティングゲーム2006を公開しました。
以前記事で書いたときのものにいろいろ追加したものです。
不具合の修正や無理な処理の修正も行いました。
また、隠し要素も追加しました。そのスクリーンショットの中から派手なものをを少しだけ載せておきます。


BirdShootingMini.png

開発中のSS


BirdShootingTitle.jpg

タイトル画面(クリックでゲームのページへ)

2006年08月20日

UnsupportedClassVersionErrorが出たときの対処法

今日、とある環境でJavaを実行しようとしてUnsupportedClassVersionErrorというエラー
がでてしまいました。対処法をメモしておきます。
UnsupportedClassVersionErrorを調べたところ、

public class UnsupportedClassVersionError extends ClassFormatError Java Virtual Machine が、クラスファイルの読み込み中に、そのファイルのメジャーバージョン番号とマイナーバージョン番号がサポートされていないと判定した場合にスローされます。

とのことです。
これはJava VMのバージョンに対してできあがったクラスファイルのバージョンのほうが新しいので実行できないために起こるようです。(私の環境は現在Java1.5です)
よって、1.3など、Java VMが対応しているバージョンを指定してコンパイルすれば大丈夫です。

以下のようにコンパイル時に-source 1.3 -target 1.3を指定し、(1.3はバージョン)

javac -source 1.3 -target 1.3 hoge.java

としてコンパイルしたところ実行できました。

////////////////////////////////////////////////
注意点 (私がはまったポイント)

◆-targetのみだとエラーになる
D:\Data\Java\FrameTest>javac -target 1.3 hoge.java
javac: ターゲットリリース 1.3 がデフォルトのソースリリース 1.5 と競合しています。

◆-sourceも指定すると大丈夫
D:\Data\Java\FrameTest>javac -source 1.3 -target 1.3 hoge.java


参考:http://report.station.ez-net.jp/software/sun/java/sdk.asp

2006年08月06日

Javaでシューティングゲーム(Javaアプレット)

今日は軽く日記です。

最近、Javaでゲームを作っていましたがある程度完成したので公開します。
新シューティングアプレットはこちら

birdshoothing2006.png


時間がないので画像は以前作ったシューティングのものを使っています。

今回の製作の目的はオブジェクト指向の便利さを体験することです(笑)
以前作ったシューティングはオブジェクト指向などを考えずに作っていたので、
今回は以前よりパワーアップさせようと考えました。

・ここまで作ってきた感想
オブジェクト指向の便利さがよくわかりました。
オブジェクト指向はゲームを作るならかなりお勧めです。とても便利で、敵や弾などの管理が楽です。

例えば、
1.敵などのクラスをあらかじめつくっておき、そこに敵の性質などを定義しておきます。
2.ゲーム中で敵のインスタンスをどんどん生成
3.生成したインスタンスを"オブジェクトリスト"に登録しておきます。
4.ゲーム中ではそのオブジェクトリストに登録されたものを描画し、当たり判定を取ります。
5.敵が倒されたらオブジェクトリストから倒された敵を削除してそのインスタンスへの参照を切ってしまいます。これで倒された敵は描画もされず、当たり判定なども行われなくなります。
このような感じで非常に管理が楽になります。
また、移動などもJavaのうりであるポリモーフィズムとかなんとかのおかげで非常にシンプルに記述できます。

◆リンク - 参考サイト

Javaでシューティングゲームを作ろう
↑そのまんまですがかなり参考になりました。自分だけで考えてつくったら少し効率が悪くなっていたかも

68user's page
スコア送信部分で「ネットワークプログラミングの基礎知識」を参考にしました

http://www005.upp.so-net.ne.jp/aoken/
色や透明度を扱う際に、「Javaイメージアプレットを作ろう」が役に立ちました

Java Media Frameworkを活用する
BGM再生のためにJMFを使ったので参考にしました

Javaでゲーム作りますが何か?
↑爆発エフェクトのやり方が参考になりました。

2006年06月26日

予算管理CGI

今日はひさしぶりにPerlを書いてみました。最近はPerlをやらなかったのでなんだか懐かしく、忘れていることも多かったです。
さて、今回は滝雄さんから予算管理のスクリプトを書いてほしいと頼まれたので書いてみました。
デザインは滝雄さん考えたものです。以下の画像のような感じになっています。いいデザインですね。
アプリケーションとしては、おこづかい帳のように収入と支出が記録できる便利なCGIです。
個人でちょこちょtこっと予算のメモをとったり、予算の共有ができるのでいいですよ。

yosan_kanri1.png
↑メイン画面(クリックで原寸大)

yosan_kanri2.png
↑編集画面の様子(クリックで原寸大)

私はスクリプトだけを書いたのですが、さっと仕上げるつもりで一日中かかりましたorz
でも、気分転換にはよかったかもしれません。
(予算管理のスクリプトは、一般にフリースクリプトとして公開されているものがなかなかないので今回作成することになったのです。気が向いたらもう少し整理して公開するかも?)

短いですが、今日はここまで・・・。

2006年02月18日

MUSIC

最近は忙しくてあまりゲームを作っていません。
しかし、ゲームの音楽を随時滝雄さんの作曲したものへ切り替えています。

続きを読む "MUSIC" »

2006年02月10日

The Adventure Of Holy Bird Ver.0.6.4a

ゲームにデモモードを追加しました。

続きを読む "The Adventure Of Holy Bird Ver.0.6.4a" »

タイトル画面変更

今日はタイトル画面(メニュー画面)のデザインを変えてみました。

action_new_title.png
新しいタイトル画面のデザイン

続きを読む "タイトル画面変更" »

2006年02月08日

ゲームでのミニマップ表示

アクションゲームの作成。
今日は、表示切り替えボタンを押したときに、ミニマップ表示がでるようにしてみました。
スクリーンショットを見てもらえばわかりますが、緑がブロックなど、通過不可能で、それ以外が通れるというものです。

minmap.png

ミニマップ表示(一部加工)

続きを読む "ゲームでのミニマップ表示" »

2006年02月07日

ゲームの起動を高速化

The Adventure Of Holy BirdのVer.0.6.2では、ゲームの起動を高速化しました。

続きを読む "ゲームの起動を高速化" »

2006年02月05日

The Adventure Of Holy Bird β版完成

アクションゲーム「The Adventure Of Holy Bird」がとりあえず一通りできたのでここでだけ公開してみます。

続きを読む "The Adventure Of Holy Bird β版完成" »

2006年02月04日

必殺バグ修正法!?

そろそろ完成?
アクションゲームの作成。昨日は作成がはかどりました。
最後までバグ続出。

続きを読む "必殺バグ修正法!?" »

2006年01月29日

ちょっとだけ作成

毎日少しづつ進めているアクションゲームの作成。
今日はちょっとだけ作成です。
ブロック・敵の移動方向を変える矢印のゆかを作成
他はイベントの追加・ステージの追加。

続きは読めません "ちょっとだけ作成" »

2006年01月28日

ワールドマップの作成

毎日少しづつ進めているアクションゲームの作成。
今日は昨日つくったワールドマップを少し改良し、ゲーム中でマップを表示するようにしました。

続きを読む "ワールドマップの作成" »

地図を作ってみました

今日はゲームで使う地図を作ってみました。けっこうリアルです。
map1.png

続きを読む "地図を作ってみました" »

2006年01月26日

移動可能ブロック

HSP3.0で作成中のアクションゲーム。
今日は動かせるブロックを作りました。

続きを読む "移動可能ブロック" »

The Adventure Of Holy Bird の開発環境

ブログを書き始める前のゲーム作りはどうだったのでしょうか?
これからは過去の開発日記のようなものも簡単に書いていきます。
(ほとんどただのメモになってしまいますが・・・)

続きを読む "The Adventure Of Holy Bird の開発環境" »

2006年01月24日

アクセス解析設置

このブログにはアクセス解析の機能がないので、
以前私が作ったアクセス解析を一部改良して仮設置しました。
ないとちょっと不便なので・・・

続きを読む "アクセス解析設置" »

2006年01月23日

開発状況 - 当たり判定の改良 -

前回に作ったところの当たり判定の改良をしました。

holy_lift.png
↑リフトに乗る文鳥

続きを読む "開発状況 - 当たり判定の改良 -" »

2006年01月22日

開発状況その2

とりあえず、乗れる敵に触ると乗れる(張り付く)
そして、乗ったまま移動することができるようになりました。

holybird_o.png
↑ブロックに乗ってがけを渡る!

続きを読む "開発状況その2" »

今日と昨日の開発状況

今日は風邪のため何もする気が起こらず時間を無駄に過ごしてしまいました・・・。
以下、ひとり言です。

続きを読む "今日と昨日の開発状況" »

2006年01月21日

Stardust Collector 通常版 Ver.2.2

少しアレンジしてStardust Collector 通常版 Ver.2.2
をリリースしました。

続きを読む "Stardust Collector 通常版 Ver.2.2" »

2006年01月19日

HSP3.0へ移植

今日は
Stardust Collector 通常版(Normal Version)

HSP2.61からHSP3.0に移植する作業をした。
実はHSP3.0で動くように書き直すのはいつかはしたいと思っていたのです。
今見るとけっこう無茶な処理をしているところもあり、書き直すのは困難を極めた。
(というか普通にめんどうだった。)


さらにせっかくなので、
・画像ファイルをBMPからPNG/GIFにして、HDDの節約になるようにした。
→だいぶ軽くなりました!


・今まで寄付特典として、「寄付してくれた人だけ遊べるステージ」を最初から選べるようにした。
特典ステージの中には難しいステージもあるのでおすすめ。ぜひチャレンジしてもらいたい。
→なぜなら・・・誰も寄付してくれなかったから(笑)
ならこの際、最初から公開してしまうかということで。。。
新しいゲームもそのうち公開することだし。


DirectDrawを使って高速に描画してもらうようにした。
実は今までは使っていなかった。
→が・・・速くならないorz
なんでだ〜。今、さらに改良中・・・。


Stardust Collector 通常版 Ver.2.1として、近いうちに完成です。たぶん。

続きを読む "HSP3.0へ移植" »

2006年01月15日

アクションゲーム開発状況

システムがほぼ完成。
イベント作成開始。


敵に乗れるようにできたらいいな・・・