Skip to content

Latest commit

 

History

History
93 lines (84 loc) · 2.61 KB

memo.md

File metadata and controls

93 lines (84 loc) · 2.61 KB

memo

ToDo

[ ] : 未解決 [-] : 保留 [+] : 取り組み中 [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がついた
  • 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