忍者ブログ
ADMINNEW ENTRY
C A L E N D A R
12 2025/01 02
S M T W T F S
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 31

HP→http://sora-blue.net/~kuar/index.html
2025-01-19(Sun)
[PR]
×

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



2008-12-08(Mon)
無題
プログラムのバックアップは大切やね。そう思い知らされた。
プログラムそのものは問題ないけど危うく全部消えかけた。
一応ここでバックアップみたくうpしてる分まだ安心。定期的にとらないと危ないNE

ダブルバッファリングに挑戦するもどこの参考サイト行って真似してもぬるぽの連呼
画面がキャプチャーできてないっぽい? ビルド時にエラー吐くってのがいやらしい。
文法は合ってるけど論理エラーってやつか。
MACでやるぶんにはそこまで気にならないけど最初の数秒がちらつくからなんとかしたいのだが。
成功したか?と思っても何も描画されなかったりで1hくらいずっと悩んで投げた。

一応WINでもデバッグしてみたけどちらつくってレベルじゃねーぞ
なんか壊れかかったTVみたいだ。
C++に逃げたい。でもGUIわかんね
PR


2008-12-06(Sat)
無題
ここまでの頑張り。
ソース
アプリ
ソースだけみても嫌になるね。それなりのエディタで開かないとわけわかめだぜ
グラフィックのところはメゾット分けできないらしいのでできるだけプログラムを圧縮してやらないとスパゲッティになっちまうぜ。半ばなってるけど。
オブジェクト指向ならなんとかしてくれるらしい(?)
キャラ描写は多次元配列にしてやればifが不要になって1行で済みそうだ

g.drawImage(Chara[立っているor走っている(もしくは攻撃等)][何番目の画像か(主にアニメーション)],x,y,this);

こういう感じで

しかしこのままいくと色々とまずいことが起きそうだ。。
タイマーを使わないとだめくさい?全てが同時進行だからなんとかしないと
移動はキーボード操作ならだいぶ楽なんだけどあえてマウスで動く形にした。
ってもキャラは動かず動くのは背景のほうだけど。
背景画像は最小でも5000くらいないとだめっぽいな。狭すぎる


2008-12-05(Fri)
無題
体力ゲージって難しくね?
とりあえずHPの数値をゲージのドット分まで圧縮するプログラム。
(最大HP) ÷ (ゲージのドット数)

これでいくらで割ればゲージぴったりに圧縮できるかが分かる。
んでここで出た数値で最大値を割ってやれば完成。

double HPCompression = (double)PlayerMaxHP / 60;
double MPCompression = (double)PlayerMaxMP / 60;

HPGage = (int)(PlayerMaxHP / HPCompression);
MPGage = (int)(PlayerMaxMP / MPCompression);
   
if (HPGage == 59)
  HPGage ++;
if(MPGage ==59)
  MPGage ++;

あくまで整数にしないとゲージは小数点はエラー吐くからintにするけど
59とか61とか出てくるので微調整。

が、ダメージ量をゲージ化できない。
なぜかっつーと小数点がでまくりんぐ。
四角のオブジェクトが小数点とかでもいいのならば出せるのだろうけど割合をダメージ化させるわけだから小数点しかでねー
小数点が出た分だけHPとHPゲージとの差ができてしまってちぐはぐでNG
どうでもいいけどネストより条件演算式使った方がいいね。

if (damage > 0){
 double aaa = (double)damage / PlayerMaxHP * 60;

 if (PlayerHP > 0){
  PlayerHP -= damage;
  HPGage -= aaa;
 }
 System.out.println(PlayerHP + ":" + HPGage + ":" + aaa);//デバッグ用
}



2008-12-03(Wed)
無題
ようやくある程度アニメーションができてきたのでプログラムで動かしてみる。
ソース
アプリ

for(int j=0;j<10;j++){
  if(j<9)
    s_url[j] = this.getClass().getResource("/s_run0" + (j+1) + ".png");
  else
    s_url[j] = this.getClass().getResource("/s_run" + (j+1) + ".png");
}

この部分をどっちにするかってのはどうなんだろうねー
画像01.pngってするとこういうふうにifで分岐しないといけない。
画像1.pngってするとifが不要になって1行で済むけどリソースの並びが

画像1.png
画像10.png
画像2.png

とかになってしまう鬱陶しさ
プログラムを1行にまとめるかリソースを美しくするかという微妙な判断。
フォーマットで0埋めしてやれば単位が増えても同じ4行で済ませることができるが実用的にはどちらだろう
あとダブルバッファリングしないといけないそうなのだがググってもわからんということでそのままにしてあるけど
MACだったら最初の数秒ちらちらした後は奇麗になるけどwinはまだデバッグしてないからもしかしたらずっとちらつきっぱなしかもしれない。
JavaじゃなくてC++で作りたいよう
でも大学の図書館VC++の参考書ばっかりだ('A`)


2008-12-02(Tue)
無題
細い道を歩いてる最中前を歩く子供とその親が歩いていた。
子供らが道を抜けるよりも俺が追いつく方が早いと思い気を使わさせないために歩くペースを落とすものの
その瞬間に子供が立ち止まる
立ち止まったなら仕方ない。抜くかと。そのすれ違い様に子供が言った一言「どうぞ」
前俺が心の中で泣いた。
3才だか5才だかは知らないけれど俺が考えていたよりも圧倒的に賢かった。圧倒的に人思いであった。
10年、15年の月日がこの子を腐らせると思うと泣いた。



Powered by NinjaBlog. Template by うさねこ.
忍者ブログ[PR]