kategoria: C++
[#31] Re: [C] Silnik 3D

@arturB, post #30

Trochę strzał na oślep, ale czy ustawiasz dla swojego okna taga WA_RMBTrap? Skoro chcesz użyć prawego przycisku do własnych celów.
[#32] Re: [C] Silnik 3D

@arturB, post #30

Po prawdzie to musiałbyś pokazać jak otwierasz ekran i okno, wtedy można coś wywnioskować. Oprócz tropu, który zaproponował Krashan, to ja mogę napisać jak ja to robiłem; tylko nie pamiętam czy używałem myszki w produkcji; chociaż za kabana w tych sprawach to ja się nie uważam. W każdym razie ja to robiłem tak (jak są jakieś błędy to dajcie znać)

Otwierałem ekran (Screen) i na nim dawałem okno (na całym ekranie) typu backdrop
struct TagItem m_windowTags[] =
{
	{WA_CustomScreen, 0},
	{WA_Left, 0},
	{WA_Top, 0},
	{WA_InnerWidth, 0},
	{WA_InnerHeight, 0},
	{WA_Activate, TRUE},
	{WA_GimmeZeroZero, TRUE},
	{WA_Borderless, TRUE},
	{WA_Backdrop, TRUE},
	{WA_NoCareRefresh, TRUE},
	{WA_IDCMP, IDCMP_CLOSEWINDOW|IDCMP_RAWKEY|IDCMP_MOUSEBUTTONS},
	{WA_Flags, WFLG_SUPER_BITMAP},
	{TAG_END, TAG_END},
};

// przed otwarciem okna ustawiałem tagi (g_nWinWidth = screen Width, g_nWinHeight = screen height)
// g_pScreen to adres ekranu
setWindowTag(WA_CustomScreen, (ULONG)g_pScreen);
setWindowTag(WA_InnerWidth, g_nWinWidth);
setWindowTag(WA_InnerHeight, g_nWinHeight);


I wtedy nie robiłem żadnych ScreenToFront ani innych cudów.
[#33] Re: [C] Silnik 3D

@asman, post #32

screen = OpenScreenTags(NULL,
SA_Title, "N.U.L.L.",
SA_DisplayID, displayID,
SA_Depth, 5,
SA_Width, xGained,
SA_Height, yGained,
SA_Type, CUSTOMSCREEN,
SA_ShowTitle, FALSE,
SA_Quiet, TRUE,
SA_Draggable, FALSE,
SA_Exclusive, FALSE,
SA_AutoScroll, FALSE,
SA_Colors, (ULONG)cols,
TAG_END);
}
}
}
win = OpenWindowTags(NULL,
WA_Left, 0,
WA_Top, 0,
WA_Width, xGained,
WA_Height, yGained,
WA_CustomScreen, (ULONG)screen,
WA_Backdrop, TRUE,
WA_Borderless, TRUE,
WA_DragBar, FALSE,
WA_Activate, TRUE,
WA_NoCareRefresh, TRUE,
WA_ReportMouse, TRUE, // mouse ON
WA_RMBTrap, TRUE,
WA_IDCMP, IDCMP_RAWKEY | IDCMP_MOUSEMOVE | IDCMP_MOUSEBUTTONS | IDCMP_ACTIVEWINDOW | IDCMP_INACTIVEWINDOW,
TAG_END);
[#34] Re: [C] Silnik 3D

@arturB, post #33

Co moze zostalo niezauwazone, ale to dziala bez niczego , ale na trybach ecs i aga. Ale w rtg konieczne jest u mnie wymuszanie w petli ScreenToFront, inaczej co ramke gubie focus ?... chociaz tyczy to tylko prawej mychy bo reszta dziala bez uwag
[#35] Re: [C] Silnik 3D

@arturB, post #34

A możesz pokazać (nawet w pseudokodzie) jak wygląda główna pętla ?

Ewentualnie zejdź do jak najnmiejszego programu który ma ten feler i popatrz czy przypadkiem coś jest niewłaściwie robione, na przykłąd nie zbierasz wszystkich mouse eventów i dalsza część logiki przetwarza.

Bo tak na chłopski rozum w rtg coś jest szybciej wykonywane i Twój program tego nie ogarnia. A w ocs/aga akurat tak się szczęśliwie składa że jest dobrze.
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem