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

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

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

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

Processing

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

解決済

描画したい線が設定しても別のところで設定した色と太さになってしまう

ameshikou
ameshikou

総合スコア8

Java

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

Processing

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

1回答

0評価

0クリップ

726閲覧

投稿2020/06/06 16:21

画面にindex()の内容のとおりに線を描画したいのですが、実行するとm.display()で設定した色、太さになってしまいます。設定する色や太さを別々にするにはどうすればいいのでしょうか。
宜しくお願いします。

ソースコードは以下の通りです。

shikibou.pde

java

//import ddf.minim.*; //Minim minim; //AudioPlayer player; PImage img1; PImage orche; //Mover[] movers = new Mover[1]; Mover m; void settings(){ orche = loadImage("orchestra2.jpg"); size(orche.width,orche.height); } void shikibou(){ image(img1,mouseX,mouseY); img1.resize(183,99); imageMode(CENTER); } void setup(){ /*minim = new Minim(this); player = minim.loadFile("Theme_of_FinalFantasy.mp3"); player.play();*/ m = new Mover(width/2,height/2); /*for (int i = 0; i < movers.length; i++) { movers[i] = new Mover(); }*/ img1 = loadImage("shikibou.png"); } void draw(){ background(orche); shikibou(); //for (int i = 0; i < m.length; i++) { m.update(); m.display(); index(); //} } void index(){ line(width/2,height*5/6,width/2,height*1/6); stroke(128); strokeWeight(50); } /*void stop(){ player.close(); minim.stop(); super.stop(); }*/

Mover.pde

java

class Mover { ArrayList<PVector> history = new ArrayList<PVector>(); // The Mover tracks position, velocity, and acceleration PVector position; PVector velocity; PVector acceleration; // The Mover's maximum speed float topspeed; float maxforce; Mover(float x,float y) { // Start in the center acceleration = new PVector(0,0); //position = new PVector(random(width),random(height)); position = new PVector(x,y); velocity = new PVector(0,0); topspeed = 15; maxforce = 0.1; } void update() { // Compute a vector that points from position to mouse PVector mouse = new PVector(mouseX-91,mouseY-49); acceleration = PVector.sub(mouse,position); // Set magnitude of acceleration //acceleration.setMag(0.2); //acceleration.normalize(); //acceleration.mult(0.7); //acceleration.mult(0); // Velocity changes according to acceleration velocity.add(acceleration); // Limit the velocity by topspeed velocity.limit(topspeed); // position changes by velocity position.add(velocity); acceleration.mult(0); history.add(position.get()); if (history.size() > 250) { history.remove(0); } } void applyForce(PVector force) { // We could add mass here if we want A = F / M acceleration.add(force); } void arrive(PVector target) { PVector desired = PVector.sub(target,position); // A vector pointing from the position to the target float d = desired.mag(); // Scale with arbitrary damping within 100 pixels if (d < 100) { float m = map(d,0,100,0,topspeed); desired.setMag(m); } else { desired.setMag(topspeed); } // Steering = Desired minus Velocity PVector steer = PVector.sub(desired,velocity); steer.limit(maxforce); // Limit to maximum steering force applyForce(steer); } void display() { beginShape(); colorMode(HSB); stroke(210,255,255); strokeWeight(10); fill(255,0,0); ellipse(position.x,position.y,20,20); noFill(); for(PVector v: history) { vertex(v.x,v.y); } endShape(); } }

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Java

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

Processing

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