processingのプログラム

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
獅音

processingのプログラム

#1

投稿記事 by 獅音 » 12年前

processingのプログラム作成をしているのですが、こちらで質問させていただいてもよろしいでしょうか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: processingのプログラム

#2

投稿記事 by softya(ソフト屋) » 12年前

はい。大丈夫ですよ。
全部を覚えているわけではないですけど。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

獅音

Re: processingのプログラム

#3

投稿記事 by 獅音 » 12年前

コード:

int w = 600;
int h = 400;
int racketW, racketH;
// racketPosX, racketPosY
float racketPosX,raxketPosY,racketSpeed;
color fgcolor; // foreGround Color
color bgColor; // backGround color

void setup(){
size(w,h);
smooth();
noStroke();
frameRate(30);
racketW = 20;
racketH = 50;
racketPosX = w/2;
racketPosY = 0 ;
racketSpeed = 4;
bgColor = color(0);
fgColor = color(255);
}

void draw(){
  background(bgColor);
  if(keyPressed == true){
    if(key == 'w' || key == 'w'){
      racketPosY -= racketSpeed;
    }
    if(key == 's' || key == 's'){
      racketPosY +=racketSpeed;
    }
  }
  fill(fgColor);
  rect(racketPosX,racketPosY,racketW,racketH);
}
このコードで、ラケットの移動をさせたいのですが、画面上から消えてしまうのですが、どこを直せば画面を突き抜けないプログラムに出来ますか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: processingのプログラム

#4

投稿記事 by softya(ソフト屋) » 12年前

インデントがちょっと分かりづらいですね。綺麗に直すとこんな感じです。

コード:

int w = 600;
int h = 400;
int racketW, racketH;
// racketPosX, racketPosY
float racketPosX, raxketPosY, racketSpeed;
color fgcolor; // foreGround Color
color bgColor; // backGround color

void setup() {
	size( w, h );
	smooth();
	noStroke();
	frameRate( 30 );
	racketW = 20;
	racketH = 50;
	racketPosX = w / 2;
	racketPosY = 0 ;
	racketSpeed = 4;
	bgColor = color( 0 );
	fgColor = color( 255 );
}

void draw() {
	background( bgColor );
	if( keyPressed == true ) {
		if( key == 'w' || key == 'w' ) {
			racketPosY -= racketSpeed;
		}
		if( key == 's' || key == 's' ) {
			racketPosY += racketSpeed;
		}
	}
	fill( fgColor );
	rect( racketPosX, racketPosY, racketW, racketH );
}
直す所はracketPosY の座標を変えている所で、画面の外に出ないように補正することです。
あとif( key == 'w' || key == 'w' ) {は2とも同じ条件に見えますけど。間違えていませんか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

獅音

Re: processingのプログラム

#5

投稿記事 by 獅音 » 12年前

すみません、大文字のWとSでした。
それで、変えるのは16行目でいいんでしょうか^^;

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: processingのプログラム

#6

投稿記事 by softya(ソフト屋) » 12年前

setup()の方は初期値です。キーで動的に座標が変化するには draw()の方です。
racketPosY が動的に変化する所は何らかのガードが必要です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: processingのプログラム

#7

投稿記事 by softya(ソフト屋) » 12年前

マルチポストされていませんか?
「proccesingのプログラム - Yahoo!知恵袋」
http://detail.chiebukuro.yahoo.co.jp/qa ... 4110782014
フォーラムルール違反となるので、こちらで質問していることも明記・リンクして下さい。
当然ながら、こちらからも知恵袋で質問しているとリンクして頂く必要があります。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

獅音

Re: processingのプログラム

#8

投稿記事 by 獅音 » 12年前

はい。すみません気を付けます。
どうも申し訳ございませんでした。

閉鎖

“C言語何でも質問掲示板” へ戻る