Skocz do zawartości
  • Ogłoszenia

  • Gdzie świętować urodziny GMCLANu   27 użytkowników zagłosowało

    1. 1. Gdzie świętować urodziny GMCLANu


      • Warszawa (bo w centrum)
      • Szczecin (bo tam mieszka Ranma i narodził się GMCLAN)

    Żeby zagłosować w tej ankiecie, prosimy się zalogować lub zarejestrować. Zobacz temat
Roki

Pytania Od Rokiego :D

Rekomendowane odpowiedzi

PsichiX    0

w PROGRESS gry pierw całość jest rysowana do canvas, dopiero potem canvas jestrysowany na ekran - to zostało zastosowane dla możliwości użycia efektu falowania ekranu. i problem leżał w tym że kolory tego recta, który rysował canvas na ekran, wyzerowałeś mu kolory wierzchołków. wystarczy że zamiast 0 dasz im 1:

 

// rysujemy prostokat powierzchni rysowania
rect.Begin = XE_VECTOR( 0, 600 );                    // pozycja poczatkowa
rect.End = XE_VECTOR( 800, 0 );                        // pozycja koncowa
rect.Color[ 0 ] = XE_VECTOR( 1, 1, 1 );                // kolor wierzcholka
rect.Color[ 1 ] = XE_VECTOR( 1, 1, 1 );
rect.Color[ 2 ] = XE_VECTOR( 1, 1, 1 );
rect.Color[ 3 ] = XE_VECTOR( 1, 1, 1 );
rect.Filled = true;                                    // wypelniony prostokat
rect.Texture = Game.Canvases( "main" )->Texture();    // tekstura czworokata
rect.Draw();

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Roki    0

Chce żeby okno gry miało 800x600(mam), view miał(to co widzi) 800x600(mam), oraz żeby ogólnie cała gra miała 1000x1000, tylko żeby ten view nie pokazywał całego. Jak to zrobić?

 

@EDIT:

Btw. Dlaczego Output(Debug), pokazuje mi:

'Green.exe': Loaded 'C:\Program Files\WIDCOMM\Bluetooth Software\BTKeyInd.dll'

Nie używam BT, więc why :o

 

@EDIT2:

Kolejny problem, samo od siebie się zepsuło :o

1>c:\users\przemek\desktop\green\application\appdata.h(118) : error C2533: 'CBlock::{ctor}' : constructors not allowed a return type

1>c:\users\przemek\desktop\green\application\appdata.h(449) : error C2264: 'CBlock::CBlock' : error in function definition or declaration; function not called

1>c:\users\przemek\desktop\green\application\appdata.h(594) : error C2264: 'CBlock::CBlock' : error in function definition or declaration; function not called

1>c:\users\przemek\desktop\green\application\appevents.h(258) : error C2065: 'Editor' : undeclared identifier

1>c:\users\przemek\desktop\green\application\appevents.h(258) : error C2228: left of '.Load' must have class/struct/union

1> type is ''unknown-type''

1>c:\users\przemek\desktop\green\application\appevents.h(283) : error C2065: 'Editor' : undeclared identifier

1>c:\users\przemek\desktop\green\application\appevents.h(283) : error C2228: left of '.Update' must have class/struct/union

1> type is ''unknown-type''

1>c:\users\przemek\desktop\green\application\appevents.h(299) : error C2065: 'Editor' : undeclared identifier

1>c:\users\przemek\desktop\green\application\appevents.h(299) : error C2228: left of '.Render' must have class/struct/union

1> type is ''unknown-type''

1>c:\users\przemek\desktop\green\application\appevents.h(307) : error C2065: 'Editor' : undeclared identifier

1>c:\users\przemek\desktop\green\application\appevents.h(307) : error C2228: left of '.Save' must have class/struct/union

1> type is ''unknown-type''

1>c:\users\przemek\desktop\green\application\appevents.h(308) : error C2065: 'Editor' : undeclared identifier

1>c:\users\przemek\desktop\green\application\appevents.h(308) : error C2228: left of '.Load' must have class/struct/union

1> type is ''unknown-type''

1>c:\users\przemek\desktop\green\application\appevents.h(328) : error C2065: 'Editor' : undeclared identifier

1>c:\users\przemek\desktop\green\application\appevents.h(328) : error C2228: left of '.Active' must have class/struct/union

1> type is ''unknown-type''

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
PsichiX    0
Chce żeby okno gry miało 800x600(mam), view miał(to co widzi) 800x600(mam), oraz żeby ogólnie cała gra miała 1000x1000, tylko żeby ten view nie pokazywał całego. Jak to zrobić?

w temacie przykładów znajduje się przykład Viewów.

zmienne klasy viewów:

ViewPortPos to pozycja viewa na ekranie.

ViewPortSize to rozmiar viewa na ekranie.

ScenePortPos to pozycja viewa na scenie.

ScenePortSize to rozmiar viewa na scenie.

 

'Green.exe': Loaded 'C:\Program Files\WIDCOMM\Bluetooth Software\BTKeyInd.dll'

masz włączoną aplikacje/serwis który w tle podpina się pod inne działające aplikacje, za pomocą DLL injection - jeśli to nie wirus ani keylogger (antywir nie powinien go wtedy dopuścić do życia), to nie masz się czym przejmować.

 

c:\users\przemek\desktop\green\application\appdata.h(118) : error C2533: 'CBlock::{ctor}' : constructors not allowed a return type

konstruktor nie ma prawa zwracać żadnej wartości, czytaj: żadne void lub inny typ ma nie widnieć przed deklaracją i definicją konstruktora.

 

1>c:\users\przemek\desktop\green\application\appdata.h(449) : error C2264: 'CBlock::CBlock' : error in function definition or declaration; function not called

z powodu błędu wyżej traktuje konstruktor jak funkcję, czego nie może zrobić.

 

1>c:\users\przemek\desktop\green\application\appevents.h(258) : error C2065: 'Editor' : undeclared identifier

Brak obiektu Editor, musiałeś go usunąć zza definicji klasy CEditor. reszta błędów tyczy się tego błędu.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Roki    0

Doszedłem co było błędem(sprawdziłem z Boxee Game), otóż:

/* Klasa Edytora */

class CEditor

{

//... klasa edytora(który nie działa, bo mi się nie chce poprawiać :D) ...

}Editor;

 

Brakowało po nawiasie "}", tego: "Editor;", tylko nie wiem dlaczego, bo w innych klasach tak nie mam :o

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
PsichiX    0

otóż taki zabieg:

class Klasa{

}Obiekt;

to nic innego jak:

class Klasa{

};

Klasa Obiekt;

czyli od razu deklarujesz obiekt danej klasy, taka skrócona forma.

A obiekt Editor jest wymagany tam do tego by można było ładować i zapisywać poziomy (także w scenie gry).

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
PsichiX    0

tak, zawsze można sprawdzić w dokumentacji, jakiego typu są konkretne zmienne :)

Klasa C_VIEW z tego co pamiętam.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Roki    0

Dodałem GUI, ale mam problem.

 

1.Mam wyskakujące okno PopUp, jak zrobić żeby nie wyskakiwało od razu, po starcie gry?

2.Jak zrobić żeby wyświetlić ten PopUp wtedy, kiedy chce, a w nim wyświetlić pole tekstowe, tylko żeby było z suwakiem, jak by ktoś wpisał dużo, po czym pobrać dane z tego pola i zapisać do zmiennej?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
PsichiX    0

w przykladzie GUI w pliku Scheme.xml sa 2 rooty interfejsow, glowny laduje sie <Root> a w kodzie gry jak mozna zauwazyc w funkcji buttona w sekcji "OpenWindow" lub "Logout" jest kod ladujacy schemat z <RootPopup> lub <RootWindow> z pliku Scheme.xml, wystarczy ze ten root popupa bedziesz ladowal w jakiejs funkcji, podajac wskaznik na kontrolke (do ktorej chcemy przyczepic ladowany interfejs) lub 0 (jesli ma nie podpinac sie do zadnej kontrolki) jako argument o nazwie parent w C_GUI_LOADER::LoadScheme().

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Roki    0

Rozumiem zatem że to:

proc.Access( "Popup" ) = PopupDoEvents;

mam ładować w funkcji, dotąd rozumiem, ale nie rozumiem tego:

podajac wskaznik na kontrolke (do ktorej chcemy przyczepic ladowany interfejs) lub 0 (jesli ma nie podpinac sie do zadnej kontrolki) jako argument o nazwie parent w C_GUI_LOADER::LoadScheme().

 

Nie jestem zbyt dobry w C++ ;/

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
PsichiX    0

looknij w kod ButtonDoEvents(), szukaj tam sekcji z if( type == "OpenWindow" ) i w niej jest kod ladujacy schematy okna ktory znajduje sie w <RootWindow> w Scheme.xml. dokladnie taki kod chcesz wykorzystac, znajduje sie w nim bodajze na ostatnim argumencie funkcji cos jak Game.GUI.ControlNames( "MainWindow" ), to zwraca wskaznik na kontrolke glownego okna, pod ktorego podczepiamy te nowe okno co sie tworzy w tejfunkcji.

wiem ze nie opisalem jakzarzadzac plikami xml ale to po srodzie powinienem miec dopiero na to czas niestety.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Roki    0

Ale jak to jest w ButtonDoEvents() to się wykonuje po kliknięciu buttona, a ja chce po kliknięciu myszką :P

I to coś nie rozwiązuje pierwszego problemu, ze popup pokazuje się po starcie gry ;/

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
PsichiX    0

bo w <Root> jest tag <Include>, ktory laduje wlasnie ten <RootPopup> z tego samego pliku. usun <Include Node="RootPopup" /> i nie bedzie tworzyl na starcie :)

takjakmowie do srody nie jestem w stanie pomoc wiecej

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Roki    0

Okej, popróbuję ale jutro, bo dziś jeszcze lekcje musze zrobić ;/

Dzięki :P

 

@EDIT: Działa :P Poza pokazywaniem PopUp'a ;/

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×