音ゲーの制作について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
たまご
記事: 1
登録日時: 2年前

音ゲーの制作について

#1

投稿記事 by たまご » 2年前

音ゲーを制作しています。しかし、キーを押してノーツに反応させるところで、うまくいかなくなってしまいました。助けてください。
import ddf.minim.*;
import ddf.minim.analysis.*;
import ddf.minim.effects.*;
import ddf.minim.signals.*;
import ddf.minim.spi.*;
import ddf.minim.ugens.*;

Minim minim;
AudioPlayer music;
FFT fft;

int e_x,e_y1,e_y2,e_y3,e_y4,e_y5,e_y6,e_y7,e_y8;
int e_speed1,e_speed2,e_speed3,e_speed4,e_speed5,e_speed6,e_speed7,e_speed8;

int repeatNum = 9;
int linePitch = 50;
int lineLength = 500;
int linesWidth = linePitch * ( repeatNum - 1 );
int rightLeftX = ( width / 2+5);
int topBottomY = ( height / 2-50);
int lineBottomY = topBottomY + lineLength;

char a='a';
char s='s';
char d='d';
char f='f';
char g='g';
char h='h';
char j='j';
char k='k';

final int b_s=40;
float y=0;

boolean keyPress=false;
boolean keyHit=false;
float extRadian=0;
color targetA=color(255,0,0);

void setup(){
size(500,500);
background(0);
minim=new Minim(this);
music=minim.loadFile("jackpot.mp3",2048);
music.play();
fft=new FFT(music.bufferSize(),music.sampleRate());
e_x=int(random(60,440));
e_speed1=int(random(2,6));
e_speed2=int(random(2,6));
e_speed3=int(random(2,6));
e_speed4=int(random(2,6));
e_speed5=int(random(2,6));
e_speed6=int(random(2,6));
e_speed7=int(random(2,6));
e_speed8=int(random(2,6));
}
void draw(){
background(0);
if(keyPressed){
if(key=='a'){
if(keyPress==true){
if(y>350-5&&y<=350+5){
keyHit=true;
targetA=color(0,0,255);
print("perfect");
}
else if(y >= 350-20&&y<=350+20){
keyHit=true;
targetA=color(255,255,0);
print("good");
}
else{targetA=color(255,0,0);
print("bad");
}
keyPress=false;
}
}
}
if(keyHit&&extRadian<30){
extRadian +=1;
}
else{extRadian=0;
keyHit=false;
targetA=color(255,0,0);
}
strokeWeight(3);
stroke(targetA);
ellipse(80,350,b_s+extRadian,b_s+extRadian);
stroke(244);
strokeWeight(2);
line(55,0,55,500);
line(105,0,105,500);
line(155,0,155,500);
line(205,0,205,500);
line(255,0,255,500);
line(305,0,305,500);
line(355,0,355,500);
line(405,0,405,500);
line(455,0,455,500);


stroke(0);
ellipse(80,e_y1,40,40);
ellipse(130,e_y2,40,40);
ellipse(180,e_y3,40,40);
ellipse(230,e_y4,40,40);
ellipse(280,e_y5,40,40);
ellipse(330,e_y6,40,40);
ellipse(380,e_y7,40,40);
ellipse(430,e_y8,40,40);
e_y1+=e_speed1;
e_y2+=e_speed2;
e_y3+=e_speed3;
e_y4+=e_speed4;
e_y5+=e_speed5;
e_y6+=e_speed6;
e_y7+=e_speed7;
e_y8+=e_speed8;
if(e_y1-25>height){
e_y1=-50;
e_speed1=int(random(2,6));
}
if(e_y2-25>height){
e_y2=-50;
e_speed2=int(random(2,6));
}
if(e_y3-25>height){
e_y3=-50;
e_speed3=int(random(2,6));
}
if(e_y4-25>height){
e_y4=-50;
e_speed4=int(random(2,6));
}
if(e_y5-25>height){
e_y5=-50;
e_speed5=int(random(2,6));
}
if(e_y6-25>height){
e_y6=-50;
e_speed6=int(random(2,6));
}
if(e_y7-25>height){
e_y7=-50;
e_speed7=int(random(2,6));
}
if(e_y8-25>height){
e_y8=-50;
e_speed8=int(random(2,6));
}
}
void keyPressed(){
keyPress=true;
background(0);
}

アバター
あたっしゅ
記事: 664
登録日時: 13年前
住所: 東京23区
連絡を取る:

Re: 音ゲーの制作について

#2

投稿記事 by あたっしゅ » 2年前

東上☆海美☆「
 Processing だみみ。

 Windows Update に失敗して、環境再建中なのと、
 7/31 締め切りの CG コンテスト

https://cganime.jp/EX/contest/contest_o ... 30_outline

 (CG 動画のコンテスト)の応募作品を作っているのとで、
 Processing をいじっている暇が取れないみみ。
VTuber:
東上☆海美☆(とうじょう・うみみ)
http://atassyu.php.xdomain.jp/vtuber/index.html
レスがついていないものを優先して、レスするみみ。時々、見当外れなレスしみみ。

中の人:
手提鞄あたッしュ、[MrAtassyu] 手提鞄屋魚有店
http://ameblo.jp/mratassyu/
Pixiv: 666303
Windows, Mac, Linux, Haiku, Raspbery Pi, Jetson Nano, 電子ブロック 持ち。

返信

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