Problem

Pytania nie pasujące do pozostałych for w tej kategorii.
Awatar użytkownika
Woobuz
Posty: 270
Rejestracja: 16 wrz 2012, 12:47
Lokalizacja: Bielsko Biała
Kontaktowanie:

Re: Problem

Postautor: Woobuz » 25 sty 2014, 18:02

Teraz to jest jeszcze gorzej :P Dwa Actuatory są gorsze od jednego, bo jeden wchodzi na drugi i robi się karabin maszynowy :roll:
"Bo w każdym z nas jest Chaos i Ład, Dobro i Zło. Ale nad tym można i trzeba zapanować. Trzeba się tego nauczyć."

Awatar użytkownika
lukaszfito
Posty: 140
Rejestracja: 28 gru 2013, 1:37
Lokalizacja: Gdańsk
Kontaktowanie:

Re: Problem

Postautor: lukaszfito » 26 sty 2014, 3:08

Pobawiłem się troszkę i mam coś takiego:

Kod: Zaznacz cały

from bge.logic import getCurrentController
owner=getCurrentController().owner
sensor=owner.sensors[0]

if not "freq_step_sound" in owner.getPropertyNames():
    owner["freq_step_sound"]=sensor.frequency
    owner["freq_sprint_sound"]=int(sensor.frequency*0.5)

sound=False

for e in sensor.events:
    if e[0]==129:
        if e[1]==3:
            sensor.frequency=owner["freq_step_sound"]
            sound=False
        else:sensor.frequency=owner["freq_sprint_sound"]
    elif e[0] in [119,115,97,100]:
        if e[1] in [1,2]:sound=True
        elif e[1]==3:
            sound=False
            break

if sound==True:
    owner.actuators[0].stopSound()
    owner.actuators[0].startSound()

Tylko musisz ustawić specjalnie kostki logiki:

Tworzysz i łączysz ze sobą trzy kostki (Keyboard, Python i Sound), których nazwy nie są w ogóle ważne.

Dla Keyboard dajesz True dla Freq i ustawiasz wedle uznania (ja dałem sobie 50), zaznaczasz też All Keys.
Dla Python dajesz mój kod.
Dla Sound daj swój plik z odgłosem kroku.

Co do tłumaczeń kodu ograniczę się do praktycznej:

Kod: Zaznacz cały

owner["freq_sprint_sound"]=int(sensor.frequency*0.5)

Liczba "0.5" oznacza, że podczas biegu, odstęp między dźwiękiem kroku zmniejsza się o połowę.

Liczby 119, 115, 97 i 100 w linijce:

Kod: Zaznacz cały

elif e[0] in [119,115,97,100]:

to kolejno W, S, A i D na klawiaturze.

A liczba 129 w:

Kod: Zaznacz cały

if e[0]==129:

to Shift (czyli bieganie).

Tak, tym razem sprawdziłem - mimo późnej pory

Awatar użytkownika
Woobuz
Posty: 270
Rejestracja: 16 wrz 2012, 12:47
Lokalizacja: Bielsko Biała
Kontaktowanie:

Re: Problem

Postautor: Woobuz » 26 sty 2014, 12:10

Hmm, może najpierw powiem jak to wszystko jest zrobione.

Cóż, użyłem sporo kostek logiki. Do zwykłego chodu mamy 4 Sensory (WSAD), 4 Controllery And, oraz 4 Actuatory Motion. Do sprintu mamy 5 Sensorów (LShift i WSAD), 4 Controllery And oraz 5 Actuatorów (4 Motion i Sound). Potem są 4 Sensory (WSAD) z Freq. , jeden Controller Or i jeden Actuator Sound (oznaczyłem grubszą czcionką, bo to ten sam co wcześniej - daje on dźwięk chodu i biegu).

Mam nadzieję, że jest to w miarę czytelne :P
"Bo w każdym z nas jest Chaos i Ład, Dobro i Zło. Ale nad tym można i trzeba zapanować. Trzeba się tego nauczyć."

Nersael
Posty: 34
Rejestracja: 10 sty 2014, 16:56

Re: Problem

Postautor: Nersael » 26 sty 2014, 12:45

Nie wiem czy o to chodzi
obrazek do pobrania
http://dysk.onet.pl/link/N5Jgh

Korzystam ze starej wersji blendera 2.66 i nie wiem czy te same rzeczy znajdują się w 2.69.

aktuator sound jak ustawię na loop end to jest ten problem o którym mówiłeś, ale jak ustawisz na loop stop to po tym jak wciśniesz shift do biegania zmienia się dźwięk z tempem przyśpieszonym a poprzedni dźwięk z tempem normalnego chodzenia przestaje grać.

Awatar użytkownika
Woobuz
Posty: 270
Rejestracja: 16 wrz 2012, 12:47
Lokalizacja: Bielsko Biała
Kontaktowanie:

Re: Problem

Postautor: Woobuz » 17 lip 2014, 0:48

Jakoś wróciła mi chęć do tego projektu. Postanowiłem przenieść rozgrywkę w zupełnie nowe miejsce, inne czasy :)

Rzecz jasna jak zwykle musi się stać coś złego :x

Otóż, mapa gry podzielona jest na pokoje. Przejście do pokoi jest zablokowane drzwiami. Można je otworzyć. Tutaj zdarzyło się coś dziwnego. Żeby nie męczyć się z kopiowaniem poly drzwi, postanowiłem je po prostu skopiować poprzez Shift+D. Wszystko pięknie, ale gdy po wprowadzeniu systemu otwierania drzwi (tylko do jednych), klikam klawisz E przy innych, tamte się otwierają.

Jeżeli nie zrozumieliście, to opiszę to poprzez screen.

Obrazek

Na obrazku widzimy cały interfejs, z jakiego korzystałem przy tym systemie. Po prawej widać konstrukcję systemu. Po lewej zaś widać pokój. Gdy przy "innym cube" klikam klawisz E, otwierają się drzwi "cube.001". Działa to na tej zasadzie, iż "cube.005" ma ustawioną kolizję z actorami, wszystkie drzwi mają zaznaczony checkbox "actor". Gdy "cube.005" wchodzi w kolizję z "innym cubem" i klikam E, odtwarza się animacja otwierania "cube.001".


Czy ktoś wie jak to można naprawić? Wiele razy miałem problem z tymi samymi operacjami na obiektach, kopiowanych metodą Shift+D. Teraz chciałbym w końcu znać rozwiązanie tego problemu.
"Bo w każdym z nas jest Chaos i Ład, Dobro i Zło. Ale nad tym można i trzeba zapanować. Trzeba się tego nauczyć."

Awatar użytkownika
Woobuz
Posty: 270
Rejestracja: 16 wrz 2012, 12:47
Lokalizacja: Bielsko Biała
Kontaktowanie:

Re: Problem

Postautor: Woobuz » 17 lip 2014, 16:32

Wie ktoś jak można to naprawić? :roll:
"Bo w każdym z nas jest Chaos i Ład, Dobro i Zło. Ale nad tym można i trzeba zapanować. Trzeba się tego nauczyć."

Awatar użytkownika
krasnoludek
Posty: 45
Rejestracja: 15 mar 2014, 17:21

Re: Problem

Postautor: krasnoludek » 18 lip 2014, 20:40

Nie wiem, w czym miałbyś tutaj mieć problem, robisz animację tych drzwiczek, kluczujesz np. VisualRotation, robisz z tych drzwiczek Sensor, który wyszukuje aktorów, aktorem jest cube.005 i tyle, po naciśnięciu E wrota powinny się otwierać, potem sobie kopiujesz do woli, za kazdym razem tworzy sie osobna animacja.

Felioz
Posty: 41
Rejestracja: 10 paź 2012, 14:07

Re: Problem

Postautor: Felioz » 27 sty 2018, 21:09

Kategoria: Coś wcisnąłem i nie wiem co jest.
Nie mogę edytować szkieletu w edit mode ale za to mogę rysować linie które z czasem zapełniają się czerwienią (Coś al`a grease pencil). To jakiś bug, czy one do czegoś służą? Ktoś wie?

Awatar użytkownika
maniek
Administrator
Posty: 525
Rejestracja: 18 lip 2012, 11:03

Re: Problem

Postautor: maniek » 27 sty 2018, 21:24

Daj screena jakiegoś..
Nowy serwis z fajnymi, imprezowymi, niedrogimi koszulkami - http://fajne-koszulki.com.pl

araagon
Posty: 221
Rejestracja: 19 lip 2012, 6:15

Re: Problem

Postautor: araagon » 27 sty 2018, 21:49

Skopiowałeś drzwi razem z armaturą która korzysta z tego samego "armature action". Tak więc po każdym naciśnięciu E wszystkie drzwi z tą animacją się uruchomią. Tak mi się przynajmniej wydaje.
araagon


Wróć do „Inne”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość