Skocz do zawartości
Zamknięcie Forum PC LAB

Szanowny Użytkowniku,

Informujemy, że za 30 dni tj. 30 listopada 2024 r. serwis internetowy Forum PC LAB zostanie zamknięty.

Administrator Serwisu Forum PC LAB - Ringier Axel Springer Polska sp. z o.o. z siedzibą w Warszawie: wypowiada całość usług Serwisu Forum PC LAB z zachowaniem miesięcznego okresu wypowiedzenia.

Administrator Serwisu Forum PC LAB informuje, że:

  1. Z dniem 29 listopada 2024 r. zakończy się świadczenie wszystkich usług Serwisu Forum PC LAB. Ważną przyczyną uzasadniającą wypowiedzenie jest zamknięcie Serwisu Forum PC LAB
  2. Dotychczas zamowione przez Użytkownika usługi Serwisu Forum PC LAB będą świadczone w okresie wypowiedzenia tj. do dnia 29 listopada 2024 r.
  3. Po ogłoszeniu zamknięcia Serwisu Forum od dnia 30 października 2024 r. zakładanie nowych kont w serwisie Forum PC LAB nie będzie możliwe
  4. Wraz z zamknięciem Serwisu Forum PC LAB, tj. dnia 29 listopada 2024 r. nie będzie już dostępny katalog treści Forum PC LAB. Do tego czasu Użytkownicy Forum PC LAB mają dostęp do swoich treści w zakładce "Profil", gdzie mają możliwość ich skopiowania lub archiwizowania w formie screenshotów.
  5. Administrator danych osobowych Użytkowników - Ringier Axel Springer Polska sp. z o.o. z siedzibą w Warszawie zapewnia realizację praw podmiotów danych osobowych przez cały okres świadczenia usług Serwisu Forum PC LAB. Szczegółowe informacje znajdziesz w Polityce Prywatności

Administrator informuje, iż wraz z zamknięciem Serwisu Forum PC LAB, dane osobowe Użytkowników Serwisu Forum PC LAB zostaną trwale usunięte ze względu na brak podstawy ich dalszego przetwarzania. Proces trwałego usuwania danych z kopii zapasowych może przekroczyć termin zamknięcia Forum PC LAB o kilka miesięcy. Wyjątek może stanowić przetwarzanie danych użytkownika do czasu zakończenia toczących się postepowań.

Temat został przeniesiony do archiwum

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

Zdziwiony

[C#] WPF, a gry

Rekomendowane odpowiedzi

Witam. Mam do Was może i trochę głupie pytanie, ale cóż... zaryzykuję :E

Czy WPF nadaje się do tworzenia gier ? Z tego co wiem wykorzystuje to kartę graficzną... więc grę da sie jakoś w tym zrobić....

 

Tylko tu pytanie:

Czy się opłaca :E ?

 

PS: Oczywiście mówię tu o 2D :P

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Do gier masz XNA, i w tym będzie pisało się prościej, bo już pewne rzeczy zostały pomyślane.

 

WPF jest raczej od rich-UI aplikacji.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Hmm... ale z tego co wiem XNA już nie jest rozwijane... Tak więc opłaca się tego uczyć ? Składnia jest podobna (i ogólnie zasady pisania) do jakiś innych bibliotek/języków do tworzenia gier ?

 

Jednym zdaniem: Czy XNA jest warte zainteresowania jeśli chodzi o naukę ?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Tzn. Chodzi mi o to czy warto się tym interesować tzn. czy np. po wstępnym ogarnięciu XNA będę miał jakieś podstawy opanowane do innych technologi np. SFML w C++, DirectX czy inne bajery, które są rozwijane :D

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Który z tego polecasz ? W miarę najprostszy i z jakimiś kursami/tutorialami polskimi :P ?

 

EDIT: Jeśli chodzi o SFML, to wymiękłem jakiś czas temu przy próbie stworzenia jakiegoś MENU :E (nie mogłem zaprogramować, tego aby po kliknięciu w danego sprit'a wykonał się jakiś tam inny kod..., do tego mało polskich tutków... ;/ zostaje tylko oficjalna strona po angielsku...)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Który z tego polecasz ? W miarę najprostszy i z jakimiś kursami/tutorialami polskimi :P ?

 

EDIT: Jeśli chodzi o SFML, to wymiękłem jakiś czas temu przy próbie stworzenia jakiegoś MENU :E (nie mogłem zaprogramować, tego aby po kliknięciu w danego sprit'a wykonał się jakiś tam inny kod..., do tego mało polskich tutków... ;/ zostaje tylko oficjalna strona po angielsku...)

SFML ok, ale nie w C#. Jakiś masakryczne te tutki w sieci. W C++ jakoś lepsza dokumentacja. Poczytaj o monogame.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

WPF nie nadaje się do pisania gier.

 

Nie no, saper, pasjans... pasuje jak ulał.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

SFML ok, ale nie w C#. Jakiś masakryczne te tutki w sieci. W C++ jakoś lepsza dokumentacja. Poczytaj o monogame.

 

Wiem, że SFML jest pod C++, bo kiedyś próbowałem się w to bawić... :P

 

Tak więc reasumując: SFML jest najbardziej warty uwagi ?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

@up

.... kolega chce się uczyć pisania gier, nie generowania.

 

Po 1, c# nie nadaje się do gier, a jeżeli tak, to nie na dłuższą metę.

 

C++

Polecę sfml'a.

Przeniosłem, się na niego z allegro. I nie żałuję, fajna biblioteka, chodź allegro też nie jest złe.

Uczyłem się na tym tutorialu. SFML

Allegro

Nawet jeżeli nie umiesz anglieskiego, to masz tutaj ładnie posegregowane rozdziały, wystarczy source code.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dzięki za linki :)

 

No cóż... od jutra zaczynam ogarniać... :D

 

Tylko mam jedną malutką prośbę :E

 

Wiesz może jak sprawdzić czy kliknięto danego sprajta xd ? Ja na tym wymiękłem kilka miesięcy temu :E (chociaż wtedy dużo mniej kodzić potrafiłem... to były moje początki :P )

 

EDIT:

#include <SFML/Window.hpp>
#include <windows.h>
#include <iostream>
int main()
{
sf::Window oknoAplikacji(sf::VideoMode(800, 600, 32), "SFML...");
while (oknoAplikacji.isOpen())
{
	sf::Event zdarzenie;
	while (oknoAplikacji.pollEvent(zdarzenie))
	{

		if (zdarzenie.type == sf::Event::Closed) // przy zamykaniu okna
		{
			sf::Vector2i pozycjaMyszyWzgledemOkna = sf::Mouse::getPosition(oknoAplikacji); //pobierz korfy myszy

			if (pozycjaMyszyWzgledemOkna == (1,2)) // i jeśli są na x,y :1,2 to cośtam rób.... 
			{

			}

		}


		if (zdarzenie.type == sf::Event::KeyPressed && zdarzenie.key.code == sf::Keyboard::Escape)
			oknoAplikacji.close();

		if (zdarzenie.type == sf::Event::MouseButtonPressed && zdarzenie.mouseButton.button == sf::Mouse::Middle)
			oknoAplikacji.close();

	}
	oknoAplikacji.display();
}
return 0;
}

 

No właśnie... Jak sprawdzić czy kliknięto w danego sprajta jak nie mogę sprawdzić gdzie myszka się znajduje :E

Ehh... Nigdzie nic znaleźć na ten temat nie mogę :/:(

 

A przecież przycisków w WinAPI robił nie będę :E

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

@up

Wydaje mi się, że niema odpowiedniej funkcji do sprawdzania czy kliknięto w dany sprajt, ale możesz to zrobić inną metodą. Gdy ktoś kliknie pobierasz pozycję myszki i sprawdzasz czy współrzędne zawierają się w obrębie danego sprajta(x i y).

 

@jackraymund

A znasz/posiadasz może jakieś kurs/tutoriale pisane(polski/angielski bez różnicy), lecz w zakresie poruszanych tematów w filmikach, które podesłałeś? Przerabiałem tutoriale na stronie głównej SFML'a i na innych stronach(zaledwie podstawy) jednak jakoś może nie do końca załapałem parę rzeczy, a tutaj widzę jest akurat trochę szerzej omawiane, więcej ciekawych rzeczy. Poza tym jakoś kursy/tutki pisane łatwiej mi wchodzą w głowę ;)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

No właśnie... Jak sprawdzić czy kliknięto w danego sprajta jak nie mogę sprawdzić gdzie myszka się znajduje :E

Ehh... Nigdzie nic znaleźć na ten temat nie mogę :/:(

 

A przecież przycisków w WinAPI robił nie będę :E

No musisz mieć pozycje sprajta, i zrobić kolizje na nim. Zależnie czy jest kołem, trójkątem czy kwadratem, to inaczej będzie wyglądać.

Tutaj masz kolizje koło-kwadrat, samego kwadratu napisz sobie sam, bo niema nic w tym trudnego.

Legenda do zmiennych wejściowych.

k - koło

kw - kwadrat

x - srodek koła x

y - srodek koła y

r - promień koła

x i y kwadratu, to narożnik

w - wysokość i szerokość bo wiadomo jakie są zależności kwadratu :D

bool IsCollision(float xk,float yk,float rk,float xkw,float ykw,float wkw)

{

float x0 = xk;

float y0 = yk;

float x1 = xkw;

float y1 = ykw;

float x2 = xkw + wkw;

float y2 = ykw;

float n = fabs(( x2 - x1 ) *( y1 - y0 ) -( x1 - x0 ) *( y2 - y1 ) );

float d = sqrt(( x2 - x1 ) *( x2 - x1 ) +( y2 - y1 ) *( y2 - y1 ) );

float dist = n / d;

if( dist > rk ) return false;

float d1 = sqrt(( x0 - x1 ) *( x0 - x1 ) +( y0 - y1 ) *( y0 - y1 ) );

if(( d1 - rk ) > d ) return false;

float d2 = sqrt(( x0 - x2 ) *( x0 - x2 ) +( y0 - y2 ) *( y0 - y2 ) );

if(( d2 - rk ) > d ) return false;

return true;

}

@up

Niestety programowania uczyłem się na google/source code.

Takie czytanie tutoriali jest lipne, na praktyce więcej się nauczysz.

Obierz sobie cel, do czego chcesz dojść, i zadawaj pytania wujkowi google, na pewno cię nakieruje na odpowiedź.

Ale tutaj masz dokumentacje, powinna wszystko rozjaśnić :)

http://sfml-dev.org/documentation/2.0/index.php

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Hmm... Jak uda mi się w tym coś dobrze napisać to będę z siebie dumny :E Bo ta dokumentacja SFML'a jest dla mnie trochę nieprzejrzysta, w porównaniu do MSDN :P

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Zacznij od Unity, szkoda czasu na XNA.

Dokładnie to miałem napisać. Jeżeli piszesz dla siebie, a nie na zaliczenie to zaczynaj od razu od unity/unreal engine/cry engine, nie ma sensu bawić sięw jakiś bibloteczki nie nadające się do niczego. Jak znasz C# (a nawet jak nie, to się nauczysz szybko) to Unity3D i jedziesz. Naprawdę, szkoda tracić czasu na półśrodki. Wszystkie trzy silniki są wspierane, ciągle ciepłe i łatwo znaleźć pomoc, malutkie bibloteczki to najczęściej tematy sprzed 5 lat, które nie pomagają.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Hmm... przemyśle to dzięki za propozycję ;)

Ja na twoim miejscu najpierw spróbował zrobić coś prostszego. Widzę, że na razie nie za bardzo sobie radzisz... z Unity (czy innym silnikiem) nie będzie wcale łatwiej.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ja na twoim miejscu najpierw spróbował zrobić coś prostszego. Widzę, że na razie nie za bardzo sobie radzisz... z Unity (czy innym silnikiem) nie będzie wcale łatwiej.

Będzie mu łatwiej, w internecie jest pełno tutoriali, których autorzy na bieżąco odpowiadają na problemy osób uczących się. Nie musi nic konfigurować, żadnych zabaw w linkowanie bibliotek. Sam bawiłem się w sporo biblioteczek 2D i po przesiadce na unity, tą samą grę zamiast w dni, robi się w godziny.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Będzie mu łatwiej, w internecie jest pełno tutoriali, których autorzy na bieżąco odpowiadają na problemy osób uczących się. Nie musi nic konfigurować, żadnych zabaw w linkowanie bibliotek. Sam bawiłem się w sporo biblioteczek 2D i po przesiadce na unity, tą samą grę zamiast w dni, robi się w godziny.

 

U "Zdziwiony" widzę trochę inny problem. On nawet mając tutoriala nie radzi sobie z rozwiązaniem problemu. Dlatego też uważam, że przesiadka na inny silnik/bibliotekę nie zmieni tutaj za dużo...

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

U "Zdziwiony" widzę trochę inny problem. On nawet mając tutoriala nie radzi sobie z rozwiązaniem problemu. Dlatego też uważam, że przesiadka na inny silnik/bibliotekę nie zmieni tutaj za dużo...

 

A ja mam inne zdanie :P

Powiem tak: Jeśli tutorial jest po polsku i w miarę dobrze przedstawiony to sobie bez problemu radzę ;) Np. Kurs C++ ze strony cpp0x.pl mam praktycznie opanowany, bo wszystko jest tam fajnie potłumaczone... po polsku... A jak przeszukuje jakieś angielskie tutki to niestety czasem nie jestem w stanie czegoś zrozumieć (w szczególności na filmiku) Cóż z angielskiego trochę noga jestem i musiałbym się podciągnąć... Ale czego można się spodziewać po 3 latach nauki...

 

@Badman na 99% chodzi ci o moje tematy odnośnie SFML'a :E No właśnie tu mam mały klops bo w necie praktycznie nie ma dobrych kursów o SFML'u w j.polskim.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jeśli miałbyś opanowane podstawy C++ to nie miałbyś problemów z napisaniem prostego programu używając SFML. Opanowanie języka programowania nie polega na małpowaniu ćwiczeń z samouczka. Programowanie polega na tym, że potrafisz wykorzystywać składnie do rozwiązywania swoich problemów... u Ciebie niestety tego nie widzę. Nie zrozum mnie źle - cieszę się, że coś próbujesz napisać, ale postaraj się być trochę bardziej samodzielnym. Samouczki po angielsku nie powinny być problemem, bo można używać translate.google.pl. Polecam naukę angielskiego, bo większość dokumentacji jest w tym języku.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • Ostatnio przeglądający   0 użytkowników

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

×
×
  • Dodaj nową pozycję...