Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Shogun

#2
Hallo alle zusammen, ich finde AC3D richtig gut. Wie setzte ich die verschiedenen Objekte genau aufeinander? Wenn ich gridsnap aktiviere passt es zwar meistens, aber nicht immer. Manchmal wird dann einfach die Mitte des Grids genommen. Macht ihr das dann ohne Gridsnap? Ist dann schwierig die Objekte genau passend zu bekommen.
Vielleicht kann man es ja noch anders machen.
#4
Danke für deine Antwort, so geht es. naja ganz soweit weg war ich ja nicht.
#5
Danke erstmal,
das mit Else habe ich auch probiert, geht nicht.
Nochmal zur Frage, ich möchte einfach sprites mit der Maus bewegen. Also beim start steht das Sprite, dann bewege ich die Maus, dann drücke ich einen Button und das Sprite soll sich bewegen. Die Formel die ich benutze ist richtig, die Bewegung funktioniert. Nur muss ich entweder den Button gedrückt halten um auf die Koordinaten zu kommen oder das sprite klebt an der Mausposition fest ohne zu drücken.
Wenn ich mit größer, kleiner arbeite geht es, also if mx<tankx, if my kleiner tanky geht es. Aber ich würde es lieber mit der obigen Formel machen.
Wenn du Lust hast kannst du es ja mal probieren.
#6
Hallo alle zusammen,
würde mich freuen wenn mir jemand bei folgendem Problem helfen kann. Ist zwar absolut Basic und ich sollte sowas schon können, dennoch komme ich nicht weiter.
Also folgender Code:

entfernung_x = (mx - tankx-40)*0.1
entfernung_y = (my - tanky-20)*0.1

IF mb1 = TRUE
tankmoving = true
tankx=tankx + entfernung_x
tanky=tanky + entfernung_y
elseif mb1 = false
tankmoving = true
tankx=tankx + entfernung_x
tanky=tanky + entfernung_y
endif
if mb1=false and tankmoving = false
tankx=tankx
tanky=tanky
endif

Also, am Anfang soll das Sprite stehen, dann drücke ich button und lasse ihn wieder los und das Sprite soll sich zum Ziel bewegen.
Also die Bewegung ist korrekt, nur mit dem Mausbutton loslassen klappt nicht.

Ich habe glaube ich alle Varianten mit If, Elseif, Else, true and false probiert, dennoch klappt es nicht so wie es soll.
Bin für jede Hilfe dankbar.


#7
Endlich, einfach nur nicht in die while-Schleife setzten. Danke Gernot.

Mit an welcher Stelle was gehört, habe ich hier und da immer noch Probleme. Muss daran arbeiten.
#8
Ach man, hab das didhit=false an jeder Stelle gesetzt, funktioniert aber nicht. Mit Len hast du recht. Da muss irgendwo noch ein Fehler sein. Ich finde ihn nicht.
#9
Meines erachtens gehört es in die foreach shot. Wie gesagt das sprite verschwindet ja wenn ich es treffe, nur bleiben die schüsse danach an der sprite Position hängen. Ich habe beim shoot em up video von Gernot geschaut, habe es eigentlich genauso gemacht.
#10
Hat jemand einen Fehler gefunden?
#11
Hallo alle zusammen, habe folgendes Problem, bei folgendem Code.

Code (glbasic) Select

TYPE SHOT
x
y
ENDTYPE

TYPE ENEMY
x
y
ENDTYPE

GLOBAL shots[] AS SHOT

GLOBAL enemys[] AS ENEMY

WHILE TRUE

IF b1

LOCAL railgun AS SHOT

railgun.x = playerx+20
railgun.y = playery

delay=GETTIMERALL()+500
DIMPUSH shots[], railgun
ENDIF

LOCAL soldier1 AS ENEMY

soldier1.x = 100
soldier1.y = 100

DIMPUSH enemys[], soldier1

FOREACH enemy IN enemys[]

FOREACH shot IN shots[]

IF SPRCOLL(4, shot.x, shot.y, 5, enemy.x, enemy.y)

didhit=TRUE

DELETE shot

ENDIF

NEXT

IF didhit

DELETE enemy

ENDIF

DRAWSPRITE 5, enemy.x, enemy.y

NEXT
FOREACH shot IN shots[]

DEC shot.y, 1

DRAWSPRITE 4, shot.x, shot.y

NEXT

Folgendes Problem, alles funktioniert soweit, nur sobald ich das enemysprite treffe wird das sprite gelöscht, aber der enemy scheint noch da zu sein, denn der schuss bleibt beim sprite hängen. Ich finde den Fehler nicht, würde mich freuen wenn jemand hilft.
#12
Und wieder hat mir der Schranzor geholfen, danke.
#13
Naja, dann weiß ich ja schonmal wie ich es lösen kann.

Ich dachte, man könne es folgendermaßen machen, nur eine ÃÅ"berlegung

also, ammo ist z.Bsp. 50

if b1 dec shot.ammo, 1                              wenn nicht b1 gedrückt wird dann ist der ammowert=ammowert also dann den aktuellen wert abfragen.

Da lag ich damit jawohl völlig falsch.



#14
dann probiere ich es mal mit gettimer. mit else oder sowas in der Art wäre es schon schöner.
#15
ja, wie in einem shooter, ich drücke den Button und die Munition geht z.Bsp. von 50 auf 49. Mein Beispiel funktioniert ja, nur zählt er eben nach dem klick die ganze Zeit, auch wenn ich den button los lasse.