2017-03-17 37 views
-1

我試圖使淡入淡出效果處理中。當我按下'z'鍵時,矩形的透明度從0到255,在那裏停留1秒,然後從255淡出到0.謝謝你!如何在淡入淡出效果中爲矩形創建淡入淡出效果

這裏是我的最新嘗試之一:

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++; 
} 
} 

我可以讓它衰落,但我不知道如何使它出現1秒後,自動淡出。

回答

0

堆棧溢出不是真的爲一般的「我該怎麼做」類型的問題而設計的。這是針對具體的「我試過X,預計Y,但得到Z」類型的問題。但我會盡力在一般意義上提供幫助。

首先,您需要break your problem down into smaller pieces。例如,你可以創建一個簡單的程序,只顯示一個矩形?你可以創建一個單獨的程序,當用戶按下Z鍵時,只是將某些東西打印到控制檯上?在繼續前,讓他們自己完美地工作。

從那裏,您需要存儲草圖的當前狀態。在你的情況下,也許這是一個存儲矩形透明度的單個變量。然後,您需要使用該變量繪製每個框架,並更改該變量以使該矩形淡入淡出。 Here是我在Processing中寫的關於動畫的教程。

但是,您需要將問題分解爲更小的部分。如果您遇到困難,請親自處理每件作品,併發布MCVE以及特定的技術問題。祝你好運。

+0

感謝您的回覆。在發佈之前,我嘗試了幾種方法,但他們並沒有真正的工作。這個例子[鏈接](https://forum.processing.org/one/topic/mousepressed-fade-in-fade-out.html)是最接近我的,但在這個用戶需要釋放鼠標來創建淡出效果。就我而言,我希望它在1秒內消失後自動淡出。所以這是我最近的嘗試之一: –

+0

我已經在描述中添加了我的代碼。請向上滾動以查看它。非常感謝。 –