Discuss Scratch

Filip_Brajczewski
Scratcher
100+ posts

czujnik koloru

Chcę zrobić w scratchu coś co w tłumaczeniu by brzmiało: Jeżeli dotyka koloru z przedziału od (…) do (…)?
czy to jest możliwe?

░░░░░░░░░░░░░░░░░░░░
░▄▀▄▀▀▀▀▄▀▄░░░░░░░░░
░█░░░░░░░░▀▄░░░░░░▄░
█░░▀░░▀░░░░░▀▄▄░░█░█
█░▄░█▀░▄░░░░░░░▀▀░░█
█░░▀▀▀▀░░░░░░░░░░░░█
█░░░░░░░░░░░░░░░░░░█
█░░░░░░░░░░░░░░░░░░█
░█░░▄▄░░▄▄▄▄░░▄▄░░█░
░█░▄▀█░▄▀░░█░▄▀█░▄▀░
░░▀░░░▀░░░░░▀░░░▀░░░
AANNTTOONNII
Scratcher
1000+ posts

czujnik koloru

Filip_Brajczewski wrote:

Chcę zrobić w scratchu coś co w tłumaczeniu by brzmiało: Jeżeli dotyka koloru z przedziału od (…) do (…)?
czy to jest możliwe?

Nie bo to nie ma sensu. Tzn. Kolory nie są w jakiś “naturalny” sposób ułożone na osi więc zależałoby to od tego jak je ułożysz. Blok
<dotyka koloru [#601265] ?>
wykrywa nie tylko dotknięcie tego koloru, ale także kolorów bardzo podobnych. Nie wiem jaka jest dokładność, ale implementacja czegoś takiego może nie być taka trudna jak ci się wydaje. Tzn. wystarczy np. 10 if-ów zamiast 500.
artur32123
Scratcher
100+ posts

czujnik koloru

AANNTTOONNII wrote:

Filip_Brajczewski wrote:

Chcę zrobić w scratchu coś co w tłumaczeniu by brzmiało: Jeżeli dotyka koloru z przedziału od (…) do (…)?
czy to jest możliwe?

Nie bo to nie ma sensu. Tzn. Kolory nie są w jakiś “naturalny” sposób ułożone na osi więc zależałoby to od tego jak je ułożysz. Blok
<dotyka koloru [#601265] ?>
wykrywa nie tylko dotknięcie tego koloru, ale także kolorów bardzo podobnych. Nie wiem jaka jest dokładność, ale implementacja czegoś takiego może nie być taka trudna jak ci się wydaje. Tzn. wystarczy np. 10 if-ów zamiast 500.

U mnie akurat jak mam np.
<dotyka koloru [#000000] ?>
to mi czarnego nie wykrywa



kiedy [ nuda] > (99)
zawsze
programuj w scratchu aż<[nuda] = [0]>
end
AANNTTOONNII
Scratcher
1000+ posts

czujnik koloru

Nie rozumiem.
Filip_Brajczewski
Scratcher
100+ posts

czujnik koloru

rozumiem::null

░░░░░░░░░░░░░░░░░░░░
░▄▀▄▀▀▀▀▄▀▄░░░░░░░░░
░█░░░░░░░░▀▄░░░░░░▄░
█░░▀░░▀░░░░░▀▄▄░░█░█
█░▄░█▀░▄░░░░░░░▀▀░░█
█░░▀▀▀▀░░░░░░░░░░░░█
█░░░░░░░░░░░░░░░░░░█
█░░░░░░░░░░░░░░░░░░█
░█░░▄▄░░▄▄▄▄░░▄▄░░█░
░█░▄▀█░▄▀░░█░▄▀█░▄▀░
░░▀░░░▀░░░░░▀░░░▀░░░
PMJ_Studio
Scratcher
100+ posts

czujnik koloru

artur32123 wrote:

U mnie akurat jak mam np.
<dotyka koloru [#000000] ?>
to mi czarnego nie wykrywa

Kolory w Scratchu nie działają zbyt dobrze

Przy rysowaniu ustawiasz kolory w systemie HSV
Blok wykrywania prawdopodobnie działa w RGB, ale też ustawiasz w HSV.
Miejsc na niedokładności jest dużo:
- ręczne ustawianie przy rysowaniu
- HSV -> RGB w kostiumie
- ręczne ustawianie w bloku wykrywania
- HSV -> RGB w bloku wykrywania
- wykrywanie koloru

RGB (Red, Green, Blue) - czerwony, zielony i niebieski w skali 0-255 - 16 581 375 możliwych kolorów.

HSV (Hue, Saturation, Value) - kolor, nasycenie i jasność w skali 0-100 - 1 000 000 możliwych kolorów.

Ale to też nie jest takie proste. W skali HSV nasycenie i jasność są w skali 0-100, a kolor 0-360.
Jednak suwak koloru w Scratchu działa w skali 0-100 i potem przelicza na 0-360. Właśnie dlatego często kolor jest o 1 inny niż ustawiony.

3D graphics, advanced physics - sailing, driving, ski jumping; cloud multiplayer and storage, automated map role-play engine
_________________________________
Pro . . . . . . | 3D rendering, code optimisation, high-level physics simulations, custom blocks, all kinds of math, pen
Amateur . . | clones, data storage in variables&lists, UI design, cloud data storage, sound
Beginner . . | animations, graphics, gameplay, cloud multiplayer
Bimbam360
Scratcher
100+ posts

czujnik koloru

<czy kolor [#608c64] dotyka [#3d83a8] ?>

3D I I
————————————————————————————————————————
HappyCat460
Scratcher
500+ posts

czujnik koloru

Bimbam360 wrote:

<czy kolor [#608c99] dotyka [#3d83a8] ?>
Nie o to mu chodzi
AANNTTOONNII
Scratcher
1000+ posts

czujnik koloru

Bimbam360 wrote:

<czy kolor [#608c64] dotyka [#3d83a8] ?>

Nie ma takiego bloku.
paczekwmasle
Scratcher
500+ posts

czujnik koloru

AANNTTOONNII wrote:

Bimbam360 wrote:

<czy kolor [#608c64] dotyka [#3d83a8] ?>

Nie ma takiego bloku.
jest w sekcji czujniki
bez czy w opisie, ale to raczej to samo

Last edited by paczekwmasle (May 22, 2020 12:27:26)


podpisano @paczekwmasle
AANNTTOONNII
Scratcher
1000+ posts

czujnik koloru

paczekwmasle wrote:

jest w sekcji czujniki
bez czy w opisie, ale to raczej to samo

Masz rację. Nie kojarzyłem tego bloku. I tak nie radziłbym tego używać. Implementacja to musi być jakiś syf.
HappyCat460
Scratcher
500+ posts

czujnik koloru

AANNTTOONNII wrote:

Bimbam360 wrote:

<czy kolor [#608c64] dotyka [#3d83a8] ?>

Nie ma takiego bloku.
jest
PMJ_Studio
Scratcher
100+ posts

czujnik koloru

Blok jest,
<czy kolor [#d06a34] dotyka [#89a9d5] ?>
ale znowu problem jest z kolorami w Scratchu.
Nawet jeżeli uda się ustawić dobry kolor, to i tak raz działa a raz nie… Trzeba by przetestować na ile to jest dokładne.

3D graphics, advanced physics - sailing, driving, ski jumping; cloud multiplayer and storage, automated map role-play engine
_________________________________
Pro . . . . . . | 3D rendering, code optimisation, high-level physics simulations, custom blocks, all kinds of math, pen
Amateur . . | clones, data storage in variables&lists, UI design, cloud data storage, sound
Beginner . . | animations, graphics, gameplay, cloud multiplayer
AANNTTOONNII
Scratcher
1000+ posts

czujnik koloru

HappyCat460 wrote:

jest

Już dawno napisał to @paczekwmasle

PMJ_Studio wrote:

Blok jest,
<czy kolor [#d06a34] dotyka [#89a9d5] ?>
ale znowu problem jest z kolorami w Scratchu.
Nawet jeżeli uda się ustawić dobry kolor, to i tak raz działa a raz nie… Trzeba by przetestować na ile to jest dokładne.

Też już pisałem:

AANNTTOONNII wrote:

Masz rację. Nie kojarzyłem tego bloku. I tak nie radziłbym tego używać. Implementacja to musi być jakiś syf.
Bimbam360
Scratcher
100+ posts

czujnik koloru

HappyCat460 wrote:

Bimbam360 wrote:

<czy kolor [#608c99] dotyka [#3d83a8] ?>
Nie o to mu chodzi
?

3D I I
————————————————————————————————————————
HappyCat460
Scratcher
500+ posts

czujnik koloru

Bimbam360 wrote:

HappyCat460 wrote:

Bimbam360 wrote:

<czy kolor [#608c99] dotyka [#3d83a8] ?>
Nie o to mu chodzi
?
Chodziło mu o to:

Filip_Brajczewski wrote:

Chcę zrobić w scratchu coś co w tłumaczeniu by brzmiało: Jeżeli dotyka koloru z przedziału od (…) do (…)?
czy to jest możliwe?
Antek_W
Scratcher
500+ posts

czujnik koloru

owszem. jest to możliwe. wystarczy stworzyć trzy zmienne R G i B (to od angielskich Red Green i Blue)
póżniej stworzyć blok:
definiuj znajdz kolor
ustaw [R v] na (0)
ustaw [G v] na (0)
ustaw [B v] na (0)
powtórz (255) razy
powtórz (255) razy
powtórz (255) razy
jeżeli <dotyka koloru ((R) + (((G) * (255)) + ((B) * (65 025‬))))> to
zatrzymaj [ten skrypt v]
end
zmień [R v] o (1)
end
zmień [G v] o (1)
end
zmień [B v] o (1)
end

definiuj dotyka kolor od R (r) G(g) B(b) do R(r2) G(g2) B(b2)
jeżeli <<(R) > (r)> i <(R) < (r2)>> to
jeżeli <<(G) > (g)> i <(G) < (g2)>> to
jeżeli <<(B) > (b)> i <(B) < (b2)>> to
odpowiedz tak.
end
end
end
Innego sposobu nie ma. Ale i tak to będzie trwało wieki (czyli tyle samo co tworzenie przeze mnie tego scryptu).


Podpisano: Antek_W



Filip_Brajczewski
Scratcher
100+ posts

czujnik koloru

Antek_W wrote:

Innego sposobu nie ma. Ale i tak to będzie trwało wieki (czyli tyle samo co tworzenie przeze mnie tego scryptu).
ale można to wykonać bez odświeżania ekranu.

Last edited by Filip_Brajczewski (June 14, 2020 13:23:00)


░░░░░░░░░░░░░░░░░░░░
░▄▀▄▀▀▀▀▄▀▄░░░░░░░░░
░█░░░░░░░░▀▄░░░░░░▄░
█░░▀░░▀░░░░░▀▄▄░░█░█
█░▄░█▀░▄░░░░░░░▀▀░░█
█░░▀▀▀▀░░░░░░░░░░░░█
█░░░░░░░░░░░░░░░░░░█
█░░░░░░░░░░░░░░░░░░█
░█░░▄▄░░▄▄▄▄░░▄▄░░█░
░█░▄▀█░▄▀░░█░▄▀█░▄▀░
░░▀░░░▀░░░░░▀░░░▀░░░
Antek_W
Scratcher
500+ posts

czujnik koloru

Filip_Brajczewski wrote:

Antek_W wrote:

Innego sposobu nie ma. Ale i tak to będzie trwało wieki (czyli tyle samo co tworzenie przeze mnie tego scryptu).
ale można to wykonać bez odświeżania ekranu.
spróbuj. i tak zajmie wieki.


Podpisano: Antek_W



MentolMen
Scratcher
1000+ posts

czujnik koloru

są działające, można zobaczyć

Powered by DjangoBB