Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Obliczanie ilosci wyswietlanych serc.
Forum PHP.pl > Forum > Przedszkole
goartur
Mam problem i nie wiem jak go rozwiazac, a dokladniej obliczyc.

A wiec mam kolumne "zycie" w ktorej mam zycie danego gracza o max wartosci 20.
Jedno pelne serce to 2 cyfry, czyli 20/2 to 10 serc czyli 1 cyfra to pol serca.
Pytanie: jak to wyswietlic graficznie na ekranie, przykladomo mam aktualnie kolumne zycie o wartosci 17 czyli 8 serc i pol serca

Pomocy...
nospor
Nie bardzo rozumiem problem... nie umiesz 17 podzielic na 2?
trueblue
Obrazek z jednolitym tłem (np. jak strona), a przezroczyste serce (szerokość X).
Obrazek ten jako background powtarzalny w osi X do jakiegoś diva o szerokości=X*maksymalna ilość serc.
W divie element lub pseudoelement pozycjonowany absolutnie z kolorem np. czerwonym. 0 serc=pozycja -100%, maksymalna liczba serc=pozycja 0%.
Ewentualnie zamiast ostatniej opcji można kombinować z background gradient dla diva.
goartur
Cytat(trueblue @ 3.11.2015, 16:48:30 ) *
Obrazek z jednolitym tłem (np. jak strona), a przezroczyste serce (szerokość X).
Obrazek ten jako background powtarzalny w osi X do jakiegoś diva o szerokości=X*maksymalna ilość serc.
W divie element lub pseudoelement pozycjonowany absolutnie z kolorem np. czerwonym. 0 serc=pozycja -100%, maksymalna liczba serc=pozycja 0%.
Ewentualnie zamiast ostatniej opcji można kombinować z background gradient dla diva.

Moj problem polega na tym ze mam 2 oddzielne obrazki, jeden serce pelne a drogi polowa serca.

Przykladowo jesli mam liczbe 12 to oznacza ze potrzebuje pokazac 6 serc na ekranie, to jest proste poprostu 12/2.
Lecz co mam zrobic gdy naprzyklad mam pokazac 6.5 serca czyli liczbe 13 z database? (Potrzebuje wtedy 6 pelnych i 1 polpelne serce)

Kurde trudno mi to lepiej wytlumaczyc
trueblue
Wyświetlasz int(liczba_serc) serc. Jeśli liczba_serc-int(liczba_serc)>0, to wyświetlasz jeszcze połówkę.
goartur
Cytat(trueblue @ 3.11.2015, 18:04:06 ) *
Wyświetlasz int(liczba_serc) serc. Jeśli liczba_serc-int(liczba_serc)>0, to wyświetlasz jeszcze połówkę.



Co masz na mysli z int? Taka funkcja chyba nie istnieje
trueblue
intval lub rzutowanie na integer.
goartur
Ok....

Cos robie zle..
  1. $usrInfo1 = $info->getInfo(Input::get('username'));
  2. $hearts = $usrInfo1->health;
  3. echo $hearts;
  4. for($i = 0; $i <= intval($hearts); $i++){
  5. echo '<img src="app/img/usr_info_icon/Heart.png">';
  6.  
  7. }
  8. if($hearts-intval($hearts)>0){
  9. echo '<img src="app/img/usr_info_icon/Heart_half.png">';
  10.  
  11. }
nospor
Widac jak ci w przepisie nie podadza dokladnie ze jajko masz pomieszac to nie pomieszasz....

zapomniales podzielic na dwa. Przeciez health to nie to samo co hearts, nieprawdaz?
goartur
Nieprawdaz,Zdrowie konwertuje do serc.Zreszta nie wiem co cie tak meczy taka glupota.
nospor
No to chyba robisz to gdzies w innym miejscu, bo tu w kodzie tego nie widac.

Czym wiec objawia sie to niedzialanie?
goartur
Aktualnie w bazie jest liczba nr 7.
Wiec powinny wyswietlic sie 3 pelne serca i 1 obrazek z pol secem.
Lecz mam takie cos:
nospor
facepalmxd.gif

przeciez mowilem, ze masz podzielic na dwa, gdyz health a hearts to nie to samo.... ty odpowiedziales ze to juz robisz.... a widac, ze nie robisz....
hearts = health / 2 - nieprawdaz?? Wiec zrob to w koncu a nie udajesz greka.

Cytat
Zreszta nie wiem co cie tak meczy taka glupota.
LOL.... Kurde, chlopie, przez te glupote skrypt ci nie dziala... mnie to nie meczy, ja ci tylko chcialem pomoc, ale widze jestes odporny na wiedze.

ps: i liczyc w petli FOR masz od 1 a nie od 0
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.