[ ] : 未解決 [-] : 保留 [+] : 取り組み中 [x] : 解決済み
- StageBossを作れ - [ ] Clear画面作れ
- Player速度改善しろ
- スコア記録実装しろ
- アイテム実装しろ
- Enemy毎にスコア変えろ
- actor
- 当たり判定を導入
- player, shot, enemyのコンストラクた書き換え
- Enemy当たり判定拡大
- player
- プレイヤを円で表示
- プレイヤを動かす
- キーインプットを入れる
- UpdatePoint関数を導入する
- なんか加速する問題を修正
- Shiftで低速を導入
- 行動範囲を制限
- スクリーン幅を環境変数にする
- 敵の弾があたったらライフが減るように
- shot
- コンストラクタ作る
- MainStateに組み込む
- MainStateのコンストラクタに組み込む
- [-] 実際に飛ばしてみる
- shotを長方形で描画
- ビームのようなshotになった
- 問題がないと考えられるため保留
- MainStateにカウンタ導入
- 上手く行かなかったのでボツ
- [-] player_shot_timeoutなるものを導入
- 画面外に飛んだら消えるようにする
- [-] 弾間の隙間が大きすぎ問題
- 後にbbox_sizeを調節する
- enemy
- コンストラクタ作成
- MainStateに組み込む
- 円として描写
- 時間計測を導入
- game counterを導入した
- PlayerShotとEnemyの当たり挙動を書く
- 弾幕を張る
- 当たり判定を導入
- feald
- プレイ画面を作成
- Frame画像を作成
- 画面に描写
- AssetsStruct作成
- MainStateに組み込み
- 画面に描写
- フィールドの値を定める
- Actorの行動範囲を制限
- Frame画像を作成
- プレイヤのライフを円で描写
- Frameがついた
- プレイ画面を作成
- other
- ややこしいのでy軸反転(現状では下がyが大きくなる)
struct State {
game_start_timer: Duration,
}
impl ggez::event::EventHandler for State {
fn update(&mut self, ctx: &mut Context) -> GameResult<()> {
let start = get_time_since_start(ctx);
println!("{:?}", start - self.game_start_timer);
self.game_start_timer = start;
Ok(())
}
}
+---+-------+-----+ 0px | | | | +---+-------+-----+ 30px | | | | | | | | +---+-------+-----+ 930px +---+-------+-----+ 960px 0px 60px 830px 1280px