slide1
Download
Skip this Video
Download Presentation
ゲームプログラミング

Loading in 2 Seconds...

play fullscreen
1 / 18

ゲームプログラミング - PowerPoint PPT Presentation


  • 56 Views
  • Uploaded on

ゲームプログラミング. 第3回:ボールを上下に動かそう!  (オブジェクトの移動、一次元). 物体を動かすしくみ. 少しずつ座標をずらして表示すると、   動いているように見える 座標をずらして表示する為に   変数を使う。. 変数(1). 数値を入れておくための箱   整数( int )、少数( float,double )、   文字列 (char) などの種類(型)がある。 使用する前に型の宣言が必要 int x; ( 整数型の変数xの宣言 ) 宣言は関数の最初に( java と違う点). 変数(2). 変数の数値を「値」と呼ぶ 値の入れかた

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' ゲームプログラミング' - yael-kirby


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1
2002年度ゲームプログラミング

ゲームプログラミング

第3回:ボールを上下に動かそう!

 (オブジェクトの移動、一次元)

slide2
2002年度ゲームプログラミング物体を動かすしくみ
  • 少しずつ座標をずらして表示すると、

  動いているように見える

  • 座標をずらして表示する為に

  変数を使う。

slide3
2002年度ゲームプログラミング変数(1)
  • 数値を入れておくための箱

  整数(int)、少数(float,double)、

  文字列(char)などの種類(型)がある。

  • 使用する前に型の宣言が必要

int x; (整数型の変数xの宣言)

  • 宣言は関数の最初に(javaと違う点)
slide4
2002年度ゲームプログラミング変数(2)
  • 変数の数値を「値」と呼ぶ
  • 値の入れかた

y = 100;

などのように、= の右側に入れる数値を書く。

  • 型の宣言と値の設定を初期値を同時に行う

  こともできる

int y = 100;

  • 初めて使う前に値(初期値)を入れておこう
slide5
2002年度ゲームプログラミング変数(3)
  • 値の使い方

  関数の引数に

sp_set ( sp , 0 , 100 , y , 1 );

  式の右辺に

num = y ;   (y の値をnumに入れる)

  条件に

if ( y < 0 )   (もしy が0未満なら)

slide6
2002年度ゲームプログラミング1、ボールを動かそう
  • set_spの y 座標を変数 y を使って指定
  • whileの繰り返し(ループ)の中で

y の値を少しずつ変えていく

y = y + 1 ; (yに1を足す)

  • 関数の最初で y を宣言することが必要
slide7
2002年度ゲームプログラミング残像を消そう
  • ボールの残像が出る理由

  →前に描いたボールが残っている

  • ボールを描く前に毎回画面を

  真っ黒に塗りつぶそう

  • 黒いbitmapを表示して塗りつぶす
slide8
2002年度ゲームプログラミング真っ黒なビットマップの表示
  • 前回の雛型以外の4行(ボール表示の準備と、ボール表示)を流用して、

真っ黒なbitmap(gp2.bmp)を表示させよう。

int bg;

bg=load_bmp("gp2.bmp",,,);

def_char(bg,,,);

sp_set(bg,,,);

slide9
2002年度ゲームプログラミングひとやすみ
  • 皆が残像なくボールを動かせるように

  なるまで、しばし休憩。

  • 元気のある人は先に進んでみましょう
slide10
2002年度ゲームプログラミング反復運動(1)
  • 上から下へ、下から上へを繰り返す。
  • 下向き(↓)に動かす処理

y = y + 1;

  • 上向き(↑)に動かす処理

y = y - 1;

y = y + (-1);  とも書ける

slide11
2002年度ゲームプログラミング反復運動(2)
  • y が変化する量も変数にしてみよう。

int dy;yが変化する量

y = y + dy ; yにdyを足す

  • dy が1の時、yが1づつ増える

  →ボールが下に動く

  • dy が-1の時、yが1づつ減る

  →ボールが上に動く

slide12
2002年度ゲームプログラミング反復運動(3)
  • ボールが下まで来たら、dyの符号を反転

    dy = -dy; (1だったら-1になる)

  • ボールが上まで来たら、dyの符号を反転

    dy = -dy; (-1だったら1になる)

  • 「○○だったら××する」という処理

  にはif文を使う

slide13
2002年度ゲームプログラミング if 文(条件分岐)
  • 「条件」を満たす時のみ「命令」を実行する。

if (条件) 命令;

  • 実行する「命令」が複数ある場合は{}でくくる。

if (条件){

   命令1;

   命令2;

}

slide14
2002年度ゲームプログラミング様々な条件
  • if(A==B) AがBと等しい
  • if(A>B) AがBより大きい
  • if(A<B) AがBより小さい
  • if(A>=B) AがB以上
  • if(A<=B) AがB以下  
  • if(A!=B) AとBが等しくない
  • if(A) Aが0以外
slide15
2002年度ゲームプログラミング2、ボールを反復させよう
  • 以下のような構造になります

while ( … ) {

y = y + dy ;

yが0以下なら dy = - dy;

yが448以上なら dy = - dy;

    ボール表示;

}

slide16
2002年度ゲームプログラミング3、跳ね返るとスピードUP
  • yの変化の量を増やすとスピードUP

  →dyの絶対値を大きくしていく

  • 跳ね返った時のみ

  →if文{}の中にスピードUPの命令を足す

  • 上で跳ね返った後のdyは正(+)

  →さらに1足す

  • 下で跳ね返った後のdyは負(ー)

  →さらに1引く

slide17
2002年度ゲームプログラミング4、背景を描こう
  • gp2.bmpの中身を書き換えてみよう
  • ボールの四隅が黒く表示されてしまう

  →黒い部分を表示しないようにしよう

  • 黒を透明にする命令

def_trans(sp,0);

slide18
2002年度ゲームプログラミング5、床で弾んでいるように
  • 引力を表現

  常に下向きに加速する

   → dy = dy + 1;

  • 跳ね返り係数を表現

  跳ね返った瞬間にスピードが減少する

   → 跳ね返りのif文で dy を遅く