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

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

ただいまの
回答率

87.79%

星を動かしたいです!

解決済

回答 1

投稿

  • 評価
  • クリップ 2
  • VIEW 7,320

score 13

書いた星を動かしたいです
この中に組み込みたいと思っています( ;  ; )

全然わからなくて困っているので助けてください!
void setup(){
size(800, 800);
background(255);
rect(0,0,800,800);

for (int kazu=0; kazu<50; kazu+=1){
drawStar(30,20);//中心からとげまでの距離
}
}
void drawStar(int Ro,int kosuu){
float vNf = random(5,20); //頂点の数は5-20まででランダム
int vN = int(vNf)*2; //頂点の数
int R; //中心からちょうてん頂点までの距離
int Ri = Ro/2; // 中心から谷間での距離

float Rosf = Ro + random(-Ro/5,Ro/5);
int Ros = int(Rosf);
color rC = color(random(100,255),random(100,255),random(100,255));
noStroke();
fill(rC,100);
pushMatrix();
translate(width/2+random(-width/2,width/2), height/2+random(-height/2,height/2));
rotate(radians(-90));
for (int ii=0; ii<9; ii+=1){
rotate(PI/9);
scale(1.1);
fill(rC,100-ii*10);
beginShape();
for (int i=0; i<vN; i++){
if (i%2 == 0) {
R = Ros;
}
else {
R = Ri;
}
vertex(R*cos(radians(360*i/vN)), R*sin(radians(360*i/vN)));
}
endShape(CLOSE);
}
popMatrix();
}

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

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

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

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

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

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

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

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

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • 退会済みユーザー

    2016/07/13 12:38

    こちらの質問が他のユーザから「やってほしいことだけを記載した丸投げの質問」という指摘を受けました
    「質問を編集する」ボタンから編集を行い、調査したこと・試したことを記入していただくと、回答が得られやすくなります。

  • 退会済みユーザー

    退会済みユーザー

    2016/07/13 12:43

    丸投げの質問をするなら、せめてこちらがどうやって作ればいいかわかりやすく書いてください。星を動かしたいといっても、回転、そのものを移動させる等いろいろあります。

    キャンセル

  • batata

    2016/07/13 12:51

    星を画面の端から端の範囲で移動させたいです

    キャンセル

回答 1

checkベストアンサー

+1

星を画面端から画面端まで動かすというのが目的みたいなので書いてみました。

Star[] s = new Star[20]; //20個作る
void setup() { 
    size(800, 800); 
    background(255);
    for (int i = 0; i < s.length; i++) {
        //Star(x座標,y座標,半径)
        s[i] = new Star(int(random(width)), 50*i+30, 10);
    }
} 

void draw() {
    background(255);
    for (int i = 0; i < s.length; i++) {
        s[i].drawStar();
        s[i].move();
    }
}



class Star {
    int x, y, r;
    color c;
    Star(int _x, int _y, int _r) {
        x = _x;
        y = _y;
        r = _r;
        c = color(random(100, 255), random(100, 255), random(100, 255));
    }
    void drawStar() {
        float vNf = random(5, 20); //頂点の数は5-20まででランダム 
        int vN = int(vNf)*2; //頂点の数 
        int R; //中心からちょうてん頂点までの距離 
        int Ri = r/2; // 中心から谷間での距離

        int Ros = int(r + random(-r/5, r/5)); 
        noStroke(); 
        fill(c, 100); 
        pushMatrix(); 
        translate(x, y);  
        for (int ii=0; ii<9; ii+=1) { 
            rotate(PI/9); 
            scale(1.1); 
            fill(c, 100-ii*10); 
            beginShape(); 
            for (int i=0; i<vN; i++) { 
                if (i%2 == 0) { 
                    R = Ros;
                } else { 
                    R = Ri;
                } 
                vertex(R*cos(radians(360*i/vN)), R*sin(radians(360*i/vN)));
            } 
            endShape(CLOSE);
        } 
        popMatrix();
    }
    void move() {
        if (x < width) {
            x++;
        }
    }
}

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 87.79%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

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