Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 76 Pomógł: 4 Dołączył: 27.02.2009 Ostrzeżenie: (0%)
|
Witam,
Jestem w trakcie tworzenia pewnej aplikacji, która odlicza co 1s do liczby X. Chodzi mi oto, że: % to liczba obecna z X 1% - to kolor czerwony 2% - 49% - kolory co raz bardziej zbliżane do koloru żółtego. (przejscie z czerwonego na żółty) 50% - kolor żółty 51-99% - kolory co raz bardziej zbliżane do koloru zielonego (przejscie z zółtego na zielony) 100% - kolor zielony [[[Pętla zaczyna się od nowa Wiem, że da radę coś takiego zrobić (tylko nie znam się w ogóle na rgb) Prosze o jakis przykład Pozdrawiam Ten post edytował PiNkOs 15.11.2010, 09:05:26 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
Podpowiem tylko, bo ruszenie tego co już Ci podałem i przerobienie to nie jest fizyka kwantowa. Procenty możesz wywalić, bo są tam tylko udziwnieniem niepotrzebnym. Ciebie interesują jedynie wartości rgb kolorów: startowego, środkowego, końcowego. Na ich podstawie obliczasz różnicę między kolorami i obliczasz wartość zmiany co krok dla każdej składowej koloru. Napisałem już o tym już w 2 poście tego tematu.
1. Bierzesz rgb startu i następnego w kolejności oraz liczbę kroków. 2. Obliczasz różnicę wartości dla każdej składowej i dzielisz przez liczbę kroków 3. Dodajesz do startu krok * różnica/liczba_kroków obliczona w punkcie 2 Czym się to różni od kodu jaki podałem wyżej? Tylko tym, że teraz możesz mieć różną wartość kroków i kolorów wszędzie. Myślę, że skoro chcesz równo, to nie 40, ale 33 powinno być. IFy na (< 34),(>33 i < 67),(>66 i <101), krok%101 a 5.1 nie na sztywno, ale liczone dla każdej składowej koloru OSOBNO, dla KAŻDEGO if. Dam Ci przykład dla przejścia między dwoma kolorami w jednym z 3 etapów. Jeśli więc przechodzisz z koloru A = rgb(a,b,c) do B = rgb(d,e,f) w 30 krokach, potem do C(g,h,i) w 40 krokach, a potem znów do A w 30 krokach to musisz: 1) policzyć: q = (d-a)/30, r = (e-b)/30, s = (f-c)/30, 2) zrobić A dla reszty wziąć poprawkę, że musi liczba kroków się odpowiednio wyzerować, a więc nie (100-krok) czy (krok-100), ale właściwie pasująca. Możesz nawet olać to, że wartości po odejmowaniu wyjdą ujemne, bo skrypt wtedy podczas dodawania i tak będzie działał jak trzeba , gdyż wynika to z tego, że dodawanie liczby ujemnej zamieni działanie na odejmowanie. Matma i jej dobre zrozumienie daje dużą przewagę podczas programowania. Powie Ci o tym każdy programista siedzący w skryptach back-endu. To naprawdę jest matma prosta i więcej nie pomogę, bo dostałeś wszystko niemal jak na tacy i jeśli teraz już nie będziesz potrafił napisać sam, to wróć może do podstawówki, bo tam jest liczenie na poziomie dodawania, odejmowania i tym podobnych prostych operacji algebraicznych. Tu nawet nie ma potęgowania czy trygonometrii, a to ostatnie ja już znałem w podstawówce w 7 klasie, więc nawet nie pisz, że to za trudne i włącz myślenie, bo póki co po Twoim kodzie, widzę, że nawet nie wysiliłeś się by zrozumieć dlaczego dałem choćby (150-krok)*5.1 tylko radośnie swoje procenty powrzucałeś, myśląc, że to załatwi sprawę. Usiądź, popatrz, przemyśl i dopiero wtedy przerabiaj.
Powód edycji: [thek]: wyłączyłem emoty bo się z b) gryzły
|
|
|
|
PiNkOs Generowanie kolorów pośrednich 15.11.2010, 09:04:11
thek Pytanie nr 1: Jakie wartości rgb (lub hex) mają ko... 15.11.2010, 13:36:30
PiNkOs No OK
Zielony:
rgb(0, 255, 0)
Czerwony:
rgb(25... 15.11.2010, 18:15:51
ShadowD Żółty - zielony ruszasz tylko R
Żółty - czerwony ... 15.11.2010, 19:17:35
PiNkOs Wykodziłem coś takiego:
[PHP] pobierz, plaintext ... 15.11.2010, 19:57:41
thek Nie działa, bo wypluwasz zmianę wartości dopiero p... 16.11.2010, 12:19:58
PiNkOs Dzięki za poświęcenie czasu.
Ale teraz... chce pr... 16.11.2010, 19:41:06
PiNkOs Heh dzięki bardzo za poświęcenie czasu i cierpliwo... 20.11.2010, 18:25:27 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 17:47 |