我對此有點卡住了。我想確定兩個不透明度int值。一個應該增加,另一個應該按小時減少。假設一天由4部分組成。晚上,日出,日落和日落。每個部分都由 兩張圖片疊加在一起。夜晚有夜間圖像和日出圖像。在午夜的夜晚,圖像具有255的不透明度,而日出實際上是不可見的。按當前時間計算兩個int值
當時間流逝到例如4點,夜間圖像的不透明度下降,而日出的不透明度增加。在5點鐘的夜晚,圖像不透明度爲0,而日出圖像的不透明度爲255.
因此,在4個部分中,我要計算兩個不透明度值,一個增加另一個減少值。在每個部分的不透明度變爲從255到0和從0到255
另一側這是我的單獨以小時
switch (hour) {
//night to sunrise
case 23: case 0: case 1: case 2: case 3: case 4:
[self setSetting:1 andOpacity:opacIn andOpacity:opacOut];
break;
//sunrise to day
case 5: case 6: case 7: case 8: case 9: case 10:
[self setSetting:1 andOpacity:opacIn andOpacity:opacOut];
break;
//day to sunset
case 11: case 12: case 13: case 14: case 15: case 16:
[self setSetting:4 andOpacity:opacIn andOpacity:opacOut];
break;
//sunset to night
case 17: case 18: case 19: case 20: case 21: case 22:
[self setSetting:2 andOpacity:opacIn andOpacity:opacOut];
break;
}
我用該溶液
int opacIn = hour * 10;
if (opacIn >= 230) {
opacIn += 25;
}
int opacOut = 255 - opacIn;
嘗試過的部件
這樣做的問題是,這決定了參照整天的不透明度。所以它從255到0只有一次。但我希望一天的每一部分都能如此。
對此的任何想法?我怎麼能確定每個部分的不透明度?