質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

Q&A

解決済

1回答

2058閲覧

Processingのフレームレートについて

sezaki_H

総合スコア41

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

0グッド

0クリップ

投稿2019/07/26 04:08

編集2019/07/26 04:08

前提・実現したいこと

Processingで金魚を銛で刺してポイントを稼ぐゲームを作ったのですが、金魚の動きや銛の描画がカクつきます。
どのように改善すると良いでしょうか?

該当のソースコード

Processing

1PVector position; 2PVector velocitiy; 3PImage img,img_kin,img_kin2,img_kin3,img_mori; 4 5int numFrames = 14; 6PImage [] img_ef = new PImage[numFrames]; 7 8 9 10float x=random(500),y=random(500); 11float x2=random(500),y2=random(500); 12float x3=random(500),y3=random(500); 13int vx1 = 40,vy1 = 60,vx2 = 10,vy2 = 20,vx3 = 30,vy3 = 15; 14int score = 0; 15 16 17void setup(){ 18 size(1000,1000); 19 img = loadImage("puru.jpg"); 20 background(#8B8383); 21 image(img,-600,-600,width+1200,height+1200); 22 23 for(int i=0;i<14;i++){ 24 img_ef[i] = loadImage("eff"+i+".png"); 25 26 } 27 28 29} 30float x_k,y_k; 31 32 33void draw(){ 34 35 image(img,-600,-600,width+1200,height+1200); 36 noStroke(); 37 kinGYO(); 38 kinGYO2(); 39 kinGYO3(); 40 mori(); 41 text("score : "+score,450,800); 42} 43 44void mori(){ 45 img_mori = loadImage("mori.png"); 46 image(img_mori,mouseX,mouseY,100,100); 47} 48 49void kinGYO(){ 50 img_kin = loadImage("kingyo.png"); 51 52 image(img_kin,x,y,100,100); 53 if(x<=-1){ 54 for(int i=0;i<=10;i++){ 55 x+=10; 56 } 57 } 58 59 x +=vx1; 60 y +=vy1; 61 62 if((x<1)||(x>width-50)){ 63 vx1=-vx1; 64 } 65 if((y<0)||(y>height-500)){ 66 vy1=-vy1; 67 } 68 if(x>=1000){ 69 x = random(500); 70 } 71} 72 73void kinGYO2(){ 74 img_kin2 = loadImage("kingyo2.png"); 75 76 77 image(img_kin2,x2,y2,100,100); 78 79 80 x2 -=vx2; 81 //y2 +=vy2; 82 83 if(x2<0){ 84 x2 = width+100; 85 y2 = random(500); 86 } 87 88 89 90} 91 92void kinGYO3(){ 93 img_kin3 = loadImage("kingyo3.png"); 94 95 96 image(img_kin3,x3,y3,100,100); 97 98 99 x3 +=vx3; 100 101 if(x3>width-50){ 102 x3=-100; 103 y3=random(500); 104 } 105 106 107} 108 109void tamauti(){ 110 position.add(velocitiy); 111 if (mousePressed) { 112 velocitiy.x = -mouseX/10; 113 velocitiy.y= -mouseY/10; 114 } 115 116 if(position.x<0){ 117 position.x=width; 118 position.y=height; 119 velocitiy.x=0; 120 velocitiy.y=0; 121} 122 123 if(position.y<0){ 124 position.y=height; 125 position.x=width; 126 velocitiy.x=0; 127 velocitiy.y=0; 128} 129 130 ellipse(position.x, position.y,40,40);//新しい位置にボールを描く 131 132} 133 134void atattara(){ 135 if((position.x>=x-50)&&(position.x<=x+250)&&(position.y>=y-50)&&(position.y<=y+150)){ 136 x=x-800; 137 } 138} 139 140void mousePressed() { 141 if((mouseX >= x-50)&&(mouseX <=x+150)&&(mouseY >= y-50)&&(mouseY <= y+150)){ 142 ef(x,y); 143 x = -100; 144 score += 7; 145 146 } 147 if((mouseX >= x2-50)&&(mouseX <=x2+150)&&(mouseY >= y2-50)&&(mouseY <= y2+150)){ 148 ef(x2,y2); 149 x2 = width+100; 150 y2 = random(500); 151 score += 2; 152 153 } 154 if((mouseX >= x3-50)&&(mouseX <=x3+150)&&(mouseY >= y3-50)&&(mouseY <= y3+150)){ 155 ef(x3,y3); 156 x3 = -100; 157 y3 = random(500); 158 score += 3; 159 160 } 161} 162 163void ef(float x, float y){ 164 int frame = frameCount % numFrames; //現在のフレームをアニメーションのフレーム数で割った余りを代入 165 image(img_ef[frame], x, y); //画像を表示 166}

補足情報(FW/ツールのバージョンなど)

Processing 3.5.3

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

金魚、モリで突いちゃうんですか...?

詳細みていませんが、とりあえず負荷の大きいloadImage()はsetup()に全部まとめてみたらどうでしょう。

投稿2019/07/27 00:13

thkana

総合スコア7629

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sezaki_H

2019/07/28 00:36

銛で突いちゃいます笑 なるほど!loadImageは負荷が大きいのですね。 これからはsetupにまとめる癖をつけようと思います! ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問