2017-03-17 3 views
-1

Processingでフェードアウトエフェクトを作成しようとしています。私がキー 'z'を押すと、矩形の透明度は0から255になり、1秒間そこにとどまり、255から0まで消えます。事前にありがとう!私はちょうどそれがフェードインすることができますが、私はそれが自動的に1秒の登場後にフェードアウトさせる方法がわからないProcessingで長方形のフェードインフェードアウトエフェクトを作成するには

int alphaValue; 

void setup() { 
size(640, 360); 
rect1 = createShape(RECT,292, 85, 55, 55, 2); 
rect2 = createShape(RECT,347, 140, 55, 55, 2); 
rect1.setFill(0); 
rect1.setStroke(color(255)); 
rect2.setFill(0); 
rect2.setStroke(color(255)); 
} 

void keyPressed() { 

    if (key == 'z') 
    { 
     fadingrectangle(); 

    } 
} 
void fadingrectangle() { 
rect1.setFill(color(229, 229, 229, alphaValue)); 

if (alphaValue < 255) { 
alphaValue++; 
} 
} 

:ここ

は私の最新の試みの一つです。

答えて

0

スタックオーバーフローは実際には一般的な "どのように私はこれを行う"タイプの質問に設計されていません。それは具体的なものです。「私はXを試しましたが、Yは期待されましたが、代わりにZを得ました。しかし、私は一般的な意味で助けようとします。

まず、break your problem down into smaller piecesが必要です。たとえば、長方形だけを示す単純なプログラムを作成できますか?ユーザーがZキーを押したときに何かをコンソールに表示する別のプログラムを作成できますか?あなたが移動する前に、完璧に働く人たちを手に入れましょう。

そこから、現在の状態をスケッチに保存する必要があります。あなたの場合、多分それは矩形の透明度を格納する単一の変数です。次に、その変数を使用して各フレームを描画し、その変数を変更して長方形をフェードインまたはフェードアウトさせる必要があります。 HereはProcessingのアニメーションについて書いたチュートリアルです。

もう一度、問題を小さなものに分割する必要があります。それぞれの作品には1つずつアプローチし、つぶれている場合はMCVEと特定の技術的な質問を投稿してください。がんばろう。

+0

ご返信ありがとうございます。これを投稿する前に、いくつかの方法を試しましたが、実際には動作していませんでした。この例[link](https://forum.processing.org/one/topic/mousepressed-fade-in-fade-out.html)は私の中で最も近いものですが、この場合、ユーザーは作成するためにマウスを離す必要がありますフェードアウト効果。私の場合は、1秒後にフェードアウトして自動的にフェードアウトさせたいと思います。これは私の最新の試みの1つです: –

+0

私は説明に自分のコードを追加しました。それを見直すために上にスクロールしてください。どうもありがとうございます。 –

関連する問題