ENTERPRISE KLUB
2019. szeptember 7., 1055 Budapest, Nyugati tér 9. 14-19 óráig
Részletek
Welcome, Guest. Please login or register.


Author Topic: Grafikai trükkök (Read 65314 times)

Offline Povi

  • EP addict
  • *
  • Posts: 1857
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 76.0.3809.100 Chrome 76.0.3809.100
    • View Profile
    • http://povi.fw.hu
Re: Grafikai trükkök
« Reply #690 on: 2019.August.12. 10:09:07 »
Nem kell előre legenerálni, generálhatod csak azt az oszlopot, vagy esetleg egy picivel nagyobb területet.
Random hegynél meg generálhatod a Random hegy aktuális fél karakter oszlopát.
egyébként eszembe jutott egy jó példa: ilyen a flappy bird: horizontálisan egy helyben van a madár, de a háttér folyamatosan scrollozódik mögötte, ráadásul végtelen hosszú, és random.

Viszonrt amit még nem értek:
80 karakter széles a képernyő. Van egy bufferem, ami mondjuk 160 karakter széles. Ennek az elejére mutat az LPT. Eggyel növelem az LPT-t, most az 1-81 karakter látszik a bufferemből. Előbb-utóbb elérek 80-159 "ablakhoz", amit nem tudok tovább tolni.

Vagy én értek valamit nagyon félre.
*** Speicherplatz zu klein

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13433
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 68.0 Firefox 68.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Grafikai trükkök
« Reply #691 on: 2019.August.12. 10:16:20 »
Szerintem úgy, hogy ami kimegy oda mindig már rajzolod a +80-al későbbi részt, és amikor elérsz a végére visszaállítod a címet az elejére.

Offline geco

  • EP addict
  • *
  • Posts: 5381
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 60.0 Firefox 60.0
    • View Profile
Re: Grafikai trükkök
« Reply #692 on: 2019.August.12. 10:53:00 »
Van a Zozó-féle megoldás két videó memóriával, és van az egy videómemóriás megoldás (bocs itt nem lehet többet rajzolni, csak az egy oszlopot):
Ez akkor működik, ha sikerül egy frame-ben ápdételni, akkor az igazi, mert frémenként csak egy byte-ot kell jobbra léptetni, és a te esetedben a 40 karakter széles képen az 50h. byte-tól lefelé kirajzolni az oszlopot, következő frame-ben az 51h. byte-tól kirajzolni az oszlopot, és az LPT kezdőcímét 02h-ra állítani, és így tovább. Így egy videólapon 4384 frame-et jeleníthetsz meg a 40chr x 150-es beállítások mellett, ami majdnem másfél perc folyamatos mozgás ha egy fázis egy frame, ha ettől többre van szükséged, akkor be kell vonni a következő videólapot is, vagy a Zozó által javasolt megoldást választani.
Ha nem lehet megoldani villogásmentesen az előbbi verziót, és másfél perc mozgás elég, akkor meg lehet két videólappal is valósítani ezt, az egyik a látható kép memória, a másik pedig a munka terület, és mihelyt befejezted a melót a munka területen, váltasz, itt viszont már 2x4 pixel oszlopokat kell kirajzolni mindegyik lapra.

Offline endi

  • EP addict
  • *
  • Posts: 7165
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 75.0.3770.142 Chrome 75.0.3770.142
    • View Profile
    • Honlapom
Re: Grafikai trükkök
« Reply #693 on: 2019.August.12. 12:27:35 »
nocsak, vízszinte scrollos game készül? :)
nem is emlékszem hogy eredeti ep játékban lett volna vízszintes scroll, legalábbis ami lpt trükkös. csak az eggs of death-ban volt talán.
Vigyázat! Szektás vagyok! :)

Offline endi

  • EP addict
  • *
  • Posts: 7165
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 75.0.3770.142 Chrome 75.0.3770.142
    • View Profile
    • Honlapom
Re: Grafikai trükkök
« Reply #694 on: 2019.August.19. 09:57:36 »
egy ilyen c256 módban elég érdekes lenne ep-n, meg talán gyorsabb is, ha mondjuk 2 pixel magas, és nem teljes képernyős. egy alsó félképernyős jó lehetne egy játék terep megjelenítéséhez.
https://youtu.be/bK2fvKq7USo?t=63

tudom, volt pár játékban is hasonló
Vigyázat! Szektás vagyok! :)