glaub hier sollte noch n forum für absolut unwissende sein
Übersicht

![]() |
Die WurstBetreff: glaub hier sollte noch n forum für absolut unwissende sein |
![]() Antworten mit Zitat ![]() |
---|---|---|
tut mir wieder mal leid, wenns des thema schon geben sollte... aber ich versteh teilweise eure fach-chinesischen buchstabenketten nicht...![]() was hab ich bis jetzt...: konzept für ein 2d ballerspiel(draufsicht)... programmierung is kein problem... des krieg ich alles auf die reihe... nur ab und zu fällts schwer nen ansatz zu finden... bzw. ne vorstellung zu haben... was will ich machen...: figur "bewegt" sich auf einer map, die angenommen 3000*3000 px ist. "bewegt" in auführungsstrichen, da nicht die figur sich bewegt, sondern der hintergrund! hoch, runter, rechts, links ist kein prob... aber ich will, dass die map sich nicht nur in 90° winkeln dreht, sondern z.B. in 11,25° winkeln.... ich hoffe, ihr versteht so halbwegs, was ich meine... wenigstens dankö für den versuch es zu verstehen... (bin ne ausdrucks-niete in deutsch ![]() |
||
![]() |
Die WurstBetreff: ich schon wieder |
![]() Antworten mit Zitat ![]() |
---|---|---|
noch ne frage... ich will nicht wissen, ob meine figur genau mit DIESER wand kollidiert, sondern ob sie generell mit irgendeinem von mir gezeichneten bild (außer map) kollidiert... geht das?
wenn ich habe: BlitzBasic: If ImagesCollide(bla1,bla1_x,bla1_y,0,bla2,bla2_x,bla2_y,0) Then ist es ja nur die frage ob 2 bilder (^) mit einander zusammen stoßen soll dann so aussehen... Code: if imagescollide(bla1,bla1_x,bla1_y,0,alle anderen objekt außer map) then
ihr wisst schon endif |
||
- Zuletzt bearbeitet von Die Wurst am Di, Dez 21, 2004 14:42, insgesamt einmal bearbeitet
D²O |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Im grund musst Du es für jedes bild schreiben und überprüfen.
Such im Forum mal nach Tile oder Tileengine. Schau Dir "Dim" bzw. "Arrays" mal in der Hilfe an. Schau Dir mal ne "For Next" schleife an ![]() |
||
Blitz+; Blitz3d; BlitzMax; GLBasic; Purebasic;
GameMaker Studio 1.4xx; AGK; |
![]() |
Triton |
![]() Antworten mit Zitat ![]() |
---|---|---|
Um deine Figur (bzw die Map) in beliebigen Winkeln zu bewegen, musst du dich nur in linearen Funktionen und Dreiecksberechnung auskennen:
-> http://www.silizium-net.de/trigonometrie.htm -> https://www.blitzforum.de/viewtopic.php?t=7493 -> http://www.silizium-net.de/bbcodea6.htm Zum zweiten: pack dir alle Objekte in einen Array (bzw Type) und frage alle Objekte dann in einer Schleife (am besten For..Next) ab. |
||
Coding: silizium-net.de | Portfolio: Triton.ch.vu |
![]() |
Bigmichi |
![]() Antworten mit Zitat ![]() |
---|---|---|
was auch möglich ist ein großes Image zu erstellen dort deine Image reinzumalen udn dan nur kolli mit dem 1 Image zu machen =) nur dan weiß man nie wo man kollidiert ist =) | ||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: figur "bewegt" sich auf einer map, die angenommen 3000*3000 px ist.
Ich hoffe du meinst damit nicht ein einziges Bild, sondern wirklich eine Map aus einzelnen Teilstücken. Sonst wirst Du (bzw. dein Rechner) ins Schleudern kommen. Unter 2D ist diese Ganze Rotiererei zudem sehr langsam, d.h. du müsstest alles Vorberechnen (Speicherverbrauch!!!). Ich würde dir empfehlen (so du denn B3D-Besitzer bist) dass Ganze mittels Sprites zu lösen, d.h. den 3D-Befehlssatz für die 2D-Transformationen zu nutzen. Mit der Forensuche solltest Du dazu was finden können. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Die Wurst |
![]() Antworten mit Zitat ![]() |
---|---|---|
danke, danke... aber ich bleib erst mal bei 2d... 3d hört sich noch kranker an...
also doch nur in 90°winkeln drehen... naja...egal |
||
![]() |
Die WurstBetreff: neues prob |
![]() Antworten mit Zitat ![]() |
---|---|---|
hey leude... hab mal wieder n problem... kann meinen fehler nicht finden! wundert euch nicht, ich hab ne sehr eigene art zu progg'n...
BlitzBasic: ;TASTENBEFEHLE |
||
![]() |
Kryan |
![]() Antworten mit Zitat ![]() |
---|---|---|
darf man erstmal wissen worum es geht?
mir fällt nur gerade auf, dass du zuerst den player zeichnest und dann die map (wobei der player übergemalt wird) |
||
Webspaceanbieter?
Klick hier! Kultige Spieleschmiede? Klick hier! |
![]() |
Die Wurst |
![]() Antworten mit Zitat ![]() |
---|---|---|
ursprünglich (vor 20min) stand map auch noch über player... aber da hat er mir gesagt, image (map) dosen`t exist... desswegen wollt ich ausprobieren ob er den player auch nicht findet... und so war es auch...
also: eine figur in der mitte des bildschirmes... wenn er läuft, bewegt nicht er sich sonder die map... und das in 8 verschiedene richtungen... weiter bin ich noch nicht |
||
![]() |
Spikespine |
![]() Antworten mit Zitat ![]() |
---|---|---|
wenn ich das richtig deute steht in dem code der graphics befehl nach den geladenen Bildern...
so können die gar nicht angezeigt werden weil die dadurch wieder gelöscht werden... |
||
![]() |
Die Wurst |
![]() Antworten mit Zitat ![]() |
---|---|---|
danke... das wars schon! aber wieso reagiert der nicht auf die bedingung "if keydown(links) and keydown(hoch) then"...
der macht immer nur eins von beiden... d.h. der geht nur runter, hoch, links, rchts.... wieder falsche reihenfolge? |
||
![]() |
Kryan |
![]() Antworten mit Zitat ![]() |
---|---|---|
du fragst es zu häufig ab:
am anfang muss stehen: up=KeyDown(200) ... und dann: If up and left Then... If up Then ... If down Then... ... |
||
Webspaceanbieter?
Klick hier! Kultige Spieleschmiede? Klick hier! |
![]() |
Die Wurst |
![]() Antworten mit Zitat ![]() |
---|---|---|
jetz geht gar nix mehr
BlitzBasic: ;grafik optionen |
||
![]() |
Die Wurst |
![]() Antworten mit Zitat ![]() |
---|---|---|
oder soll ich aus den ganzen elseif's neue if's machen? | ||
![]() |
Kryan |
![]() Antworten mit Zitat ![]() |
---|---|---|
nimm select
und übrigens: du musst die tastaturbefehle in die schleife packen, so dass sie jedes mal neu abgefragt werden usw. |
||
Webspaceanbieter?
Klick hier! Kultige Spieleschmiede? Klick hier! |
![]() |
Die Wurst |
![]() Antworten mit Zitat ![]() |
---|---|---|
danke... hat zu größten teil funktioniert... aber: der spieler läuft zwar jetzt auch schräg, nur die bilder dazu werden nur selten angezeigt!...
Edit: wie ich select bei den tastenbefehlen benutzen soll bleibt mir ein rätsel... und noch was merkwürdiges... wenn er schräg läuft, dann tut er das nur selten im 45°winkel zum bildschirmrand, ob wohl es genau 45° sein sollten |
||
![]() |
Kryan |
![]() Antworten mit Zitat ![]() |
---|---|---|
meine optimierung:
BlitzBasic: grafik optionen |
||
Webspaceanbieter?
Klick hier! Kultige Spieleschmiede? Klick hier! |
![]() |
Die Wurst |
![]() Antworten mit Zitat ![]() |
---|---|---|
ein erneutes danke schön... aber: jetzt läuft er gar nicht mehr schräg... und die bilder dazu zeigt er auch nicht an... und ich versteh nicht, was die eins bedeuten soll... "select 1"...usw. | ||
![]() |
Die WurstBetreff: aldituete.piranho.com/bb |
![]() Antworten mit Zitat ![]() |
---|---|---|
wenn du lust hast des mal auszuprobieren... hier die bilder:
player(0) ![]() (1) ![]() (2) ![]() (3) ![]() (4) ![]() (5) ![]() (6) ![]() (7) ![]() Edit: wenn du die bilder nicht siehst... http://aldituete.piranho.com/bb die map is selbst als gif zu graoß für meinen webspace... mal einfach eine ... meine is 1500*1500 Code: Graphics 640,480,16,1
SetBuffer BackBuffer() ;TASTENBEFEHLE Const esc = 1 Const leer = 57 Const f12 = 88 Const breite =640 Const hoehe =480 ;BILDER LADEN ;PLAYER Dim player(7) player(0)=LoadImage("pl_hinten.bmp") player(4)=LoadImage("pl_vorne.bmp") player(6)=LoadImage("pl_links.bmp") player(2)=LoadImage("pl_rechts.bmp") player(7)=LoadImage("pl_hinten_links.bmp") player(1)=LoadImage("pl_hinten_rechts.bmp") player(5)=LoadImage("pl_vorne_links.bmp") player(3)=LoadImage("pl_vorne_rechts.bmp") MaskImage player(0),0,255,0 MaskImage player(1),0,255,0 MaskImage player(2),0,255,0 MaskImage player(3),0,255,0 MaskImage player(4),0,255,0 MaskImage player(5),0,255,0 MaskImage player(6),0,255,0 MaskImage player(7),0,255,0 ;MAP spielfeld=LoadImage("map002.bmp") ;PLAYER pl_x=(breite-25)/2 ;breite 25 hoehe 40 pl_y=(hoehe-40)/2 ;MAP map_x=0 map_y=0 ;RICHTUNG richtung=4 ;0=hoch 1=hoch-rechts 2=rechts 3=runter-rechts 4=runter 5=runter-links 6=links 7=hoch-links ;Hauptschleife While Not KeyDown(esc) ;RICHTUNGEN hoch = KeyDown(200) rechts = KeyDown(205) runter = KeyDown(208) links = KeyDown(203) Select 1 Case hoch richtung=0 map_y=map_y+2 Case hoch And rechts richtung=1 map_y=map_y+2 map_x=map_x+2 Case rechts richtung=2 map_x=map_x-2 Case runter And rechts richtung=3 map_y=map_y-2 map_x=map_x-2 Case runter richtung=4 map_y=map_y-2 Case runter And links richtung=5 map_y=map_y-2 map_x=map_x+2 Case links richtung=6 map_x=map_x+2 Case runter And links richtung=7 map_y=map_y-2 map_x=map_x+2 End Select Cls DrawImage spielfeld,map_x,map_y DrawImage player(richtung),pl_x,pl_y Flip Wend die bilder sind noch nicht ganz ausgereift (war auch nur n test) |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group