私は、画面を横切って動いている円を持っています。その円が1秒後に消えていく行を残すようにすることができます。私はProcessingを使用しています。処理中にフェードトレイルを作成する
3
A
答えて
4
効率的ではありませんが、私はそれを行うための1つの方法はArrayListの古い位置を維持することでしょうか?各フレームの現在の位置をプッシュし、最も新しいものを削除する限り、各ポイント間に線を引くことができます。それが役に立てば幸い!
PVector circlePosition;
ArrayList<PVector> circleTrail;
int trailSize = 10;
void setup() {
size(500, 500);
circlePosition = new PVector(width*0.5, width*0.5);
circleTrail = new ArrayList<PVector>();
}
void draw() {
background(255);
int trailLength;
circlePosition = new PVector(mouseX, mouseY);
circleTrail.add(circlePosition);
trailLength = circleTrail.size() - 2;
println(trailLength);
for (int i = 0; i < trailLength; i++) {
PVector currentTrail = circleTrail.get(i);
PVector previousTrail = circleTrail.get(i + 1);
stroke(0, 255*i/trailLength);
line(
currentTrail.x, currentTrail.y,
previousTrail.x, previousTrail.y
);
}
ellipse(circlePosition.x, circlePosition.y, 10, 10);
if (trailLength >= trailSize) {
circleTrail.remove(0);
}
}
4
私はまたは私の方法の効率化に話すことができないが、私はそれをやった方法は(も低い値に設定してあなたの全体のスケッチ上のたびに矩形を描くことです25程度のように)。これにより、以前のdraw()サイクルのオブジェクトが「色あせ」して表示されます。例:
int i = 0;
void setup(){
size(500,500);
smooth();
noStroke();
background(255);
}
void draw(){
fill(255,25);
rect(0,0,width,height);
fill(0);
ellipse(width/2 + i,height/2 + i,50,50);
delay(100);
i+=10;
}
関連する問題
- 1. ファイルの作成中にファイルアクセスロックを処理する
- 2. 処理中にモーダルJDialogを作成する
- 3. Pythonで処理キューを作成する
- 4. 反復処理リストを作成する
- 5. 処理中に円を作成する方法がわからない
- 6. PHPの処理中に読み込みアイコンを作成する方法は?
- 7. ajax関数の処理中にajax関数を処理する
- 8. 処理中にコントロールの更新を処理する方法は?
- 9. 処理中にErlang
- 10. 処理中 - アレイリストを管理する
- 11. 処理スケッチをタブで処理中JS
- 12. メインスレッドでユーザーが作業中に、バックグラウンドスレッドでオブジェクトを処理する
- 13. 処理中にプログレスバーを更新する
- 14. 例外処理中のスカラクロージャの動作
- 15. サーブレットの作業中に中間(待機/処理)ページを設定する方法
- 16. ボットが背後で作業中に「処理中」メッセージを表示する方法
- 17. JSONArrayの繰り返し処理中に文字列を含むファイルを作成
- 18. Abort BGSAVE既に処理中
- 19. 処理:「x」時間ごとにオブジェクトを作成するには
- 20. IEにアクセスできないC#で処理中のDOMが処理中です。
- 21. 処理中fftクラッシュ
- 22. 処理中のエラー
- 23. 中マウスクリックの処理
- 24. 処理中wikipediaダンプファイル
- 25. 処理中のDatagramSocket
- 26. ロードイメージの処理中
- 27. 処理中のストリーミング
- 28. 処理中:文字列名で変数を操作する
- 29. ディレクトリを作成せずにURLを処理する方法
- 30. SignalException:処理中にSIGHUPを処理することが可能です