Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Szukam]Pomocy przy mojej pierwszej gierce.


Rekomendowane odpowiedzi

Opublikowano

Witajcie !

 

Właśnie zaczęłem pisać swoją pierwszą prostą grę w Autoit (Tak wiem,wiem a Autoit się gier nie robi) no ale widziałem ze kilku z was na tym Forum się to udało. Postanowiłem sam spróbować swoich sił. Moje pytanie jest następujące. Mam takie coś (to tylko urywki kodu bo reszta działa):

Dim $Postac[3] = [695, 455, 100]

695 i 455 to X i Y obrazka z Postacią a 100 to nasze życie.

I później mam takie coś:

$Pasek_Zycia = GUICtrlCreatePic("C:\Users\Trololo\Desktop\Gra\Pasek_Zycia.jpg", 72, 571, $Postac[2] * 2, 15)

(Musi być * 2 bo tak i tyle :D)

Zrobiłem sobie do testu HotKeySend'a:

HotKeySend("{F1}", "Hit")

I dopisałem do tego funkcję:

Func Hit()
$Postac[2] - 10
EndFunc

 

I niestety wielkość tego paska się nie zmienia a powinnna. :c (Przynajmniej tak mi się wydaje).

Dopiero zaczynam przygode z pisaniem gier w Autoit .

 

Z góry dzięki za pomoc.

Opublikowano

chyba w ogóle przygode z programowaniem w autoit...

musisz potem dać to tak gdzie chcesz aby uaktualniał pasek zycia

 

guictrlsetdata($Pasek_Zycia, $Postac[2])

nie ruzumiem dlaczego *2, wytłumacz mi, bo pewnie jest lepsze i bardziej podatne na zmiany rozwiązanie

 

 

ale widziałem ze kilku z was na tym Forum się to udało

wszystkie działają 1000 [moze więcej] (głównie chodzi mi o te używające gdi+) razy wolniej niż by działały np w c++ czy innym języku, którego kod jest kompilowany do kodu maszynowego (gdyby napisać na jakiejś normalnej bibliotece graficznej), w dodatku większość na potrzeby konkursów ;x

Opublikowano

Dzięki za pomoc Sopelek. * 2 Musi być dlatego , że zrobiłem sobie fajny obrazek paska zycia i jak by było:

$Pasek_Zycia = GUICtrlCreatePic("C:\Users\Trololo\Desktop\Gra\Pasek_Zycia.jpg", 72, 571, $Postac[2] , 15)

Bez tego * 2 to by było widać tylko połowe tego. Nie wiem czy to zrozumiesz bo ja nie mam talentu do tłumaczenia -.- Mozliwe , że jest jakiś inny sposób ale ten mi wystarcza póki co.

W sumie można powiedzieć , że dopiero zaczynam z Autoit'em..

 

A i przy okazji jeszcze jedno pytanie (Bo nie chce kolejnego temaatu zakładać) Jak zrobić tak jakby pocisk..? I jak sprawdzić czy trafił w potworka ? Wiem , że coś z If'em ale dokładnie nie wiem jak.

 

No w sumie racja. Ale nie będę zmieniał bo tak mi póki co pasi jak już gdzieś wyżej pisałem. A co do mojego drugiego pytania , mógłbyś odpowiedzieć :) ?

 

Hmm to co napisałeś jest skąplikowane.. No cóż poczekam.. może ktoś inny znajdzie chwilke czasu i udzieli mi jakiejś cennej rady :)

Dzięki dobre i to Szkoda , że to nie Autoit'owy kod (Nie , nie prosze o gotowca) . Sproboje cos pokombinować.

Opublikowano

rozumiem, ale można to zapisać bardziej uniwersalnie

 

$dl_obrazka * ($hp / $maxhp)

 

drugiej części nie chce mi się tłumaczyć bo jest to w miare złożne.

ja robie tablice z informacjami pocisku (predkosc x, predkosc y, damage, life (jak ma znikac po jakims czasie)) i sprawdzam zawsze kolizje z objektami, które mogą otrzymać dmg

jeśli jest to zabiera mu dmg, który jest w info o pocisku i niszczy pocisk wrzucając na jego miejsce ostatni z listy. A przesuwam go w każdym ticku gry (u mnie 60 razy na sekunde)

 

w c++ mam coś takiego na sprawdzenie kolizii

bool GetCollision(float FirstObjectX1, float FirstObjectY1, float FirstObjectX2, float FirstObjectY2, float SecondObjectX1, float SecondObjectY1, float SecondObjectX2, float SecondObjectY2)
{
if(FirstObjectX2>SecondObjectX1 && FirstObjectY2>SecondObjectY1 && FirstObjectX1<SecondObjectX2 && FirstObjectY1<SecondObjectY2)
{
	return true;
}
else return false;
}

&& to autoitowe and

 

z góry sorry za literówki, ale mam angielską mozille i nie podkreśla mi, a narazie nie chce mi się updatowac ;d

Opublikowano

Tak wystarczy ale nie dla gier :)

Wystarczy na pewno dla zrozumienia zasad pisania gry i ogólnego pojęcia co z czym i jak ma działać :)

 

Ja polecam Irrlicht dla AutoIT , lepszych raczej bibliotek nie ma co do gier ;p

Tu autoreklama: spójrz w moją sygnaturę :)

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...