2 Fragen... (2 Probleme - keine leichten) - Und Weiteres
- Timer
- Süßwasserpirat
- Beiträge: 260
- Registriert: 27.02.2007, 17:35
2 Fragen... (2 Probleme - keine leichten) - Und Weiteres
1. Frage: Kann ich einen Charakter mehrmals in einem Raum auftreten lassen (z.B. um Zwillinge darzustellen)?
2. Frage: Kann ich ein neues Objekt im Spiel einfügen während es läuft?
Ich bezweifle selbst, dass eine der beiden Sachen funktionniert, aber vielleicht kann mir hier jemand weiterhelfen, wie ich das Problem anders lösen kann...
2. Frage: Kann ich ein neues Objekt im Spiel einfügen während es läuft?
Ich bezweifle selbst, dass eine der beiden Sachen funktionniert, aber vielleicht kann mir hier jemand weiterhelfen, wie ich das Problem anders lösen kann...
Zuletzt geändert von Timer am 16.12.2007, 16:32, insgesamt 1-mal geändert.
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
- Timer
- Süßwasserpirat
- Beiträge: 260
- Registriert: 27.02.2007, 17:35
Also schon mal danke so weit...
Das habe ich mir bereits gedacht. Ich fand es nur etwas umständlich, da dieser Charakter gut und gerne 20mal in einem Raum auftritt...KhrisMUC hat geschrieben:1. Nimm mehrere Charaktere und weise ihnen die gleiche Normal- und Speechview zu.
Es geht um ein Minispiel. In diesem soll der Charakter Schüsse abfeuern können, die man dann über den Bildschirm fliegen sehen kann, bis sie das nächste Ziel erreichen und dort zerplatzen. Das Schwierige daran ist, dass man beliebig viele Schüsse abschießen und sich unabhängig von ihnen bewegen können soll. Sonst würde ich einfach ein paar Objekte definieren, sie außerhalb des Bildschirmrandes plazieren und diese dann verwenden. Allerdings verwende ich sowieso schon recht viele Objekte, also könnte das theoretisch das Objektlimit sprengen. Wie viele Objekte kann man eigentlich pro Raum verwenden?KhrisMUC hat geschrieben:2. Nein. Ich müsste wissen, was Du erreichen willst, um dir einen sinnvollen Workaround vorzuschlagen.
- hookepack
- Komplettlösungsnutzer
- Beiträge: 36
- Registriert: 04.04.2007, 13:34
- Wohnort: wiesbaden
- Kaktus
- Tastatursteuerer
- Beiträge: 658
- Registriert: 17.02.2006, 01:45
- Wohnort: Wüstä
- Kontaktdaten:
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
- Timer
- Süßwasserpirat
- Beiträge: 260
- Registriert: 27.02.2007, 17:35
Also gut - ich danke schon mal sehr. Ich bin an der Umsetzung. Ist aber komplizierter als gedacht...
Zudem kommt jetzt diese seltsame Fehlermeldung:
Als Fehlerhaft wird die Zeile mit dem X gemeldet:Kann mir hier jemand weiterhelfen?
Zudem kommt jetzt diese seltsame Fehlermeldung:
Als Fehlerhaft wird die Zeile mit dem X gemeldet:
Code: Alles auswählen
struct Schuss{
int X;
int Y;
int Abgefeuert;
};
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Ich würd die struct-Deklaration in den header schreiben (da gehört sie eigentlich auch hin).
Nachher hast Du sowieso "Schuss schuss[100];" o.Ä. im global script stehen, damit ist der Array eh global.
Falls Du den Fehler immer noch kriegst, nimm statt "X" mal "x" oder "xpos".
Nachher hast Du sowieso "Schuss schuss[100];" o.Ä. im global script stehen, damit ist der Array eh global.
Falls Du den Fehler immer noch kriegst, nimm statt "X" mal "x" oder "xpos".
Use gopher repellent on funny little man
- Timer
- Süßwasserpirat
- Beiträge: 260
- Registriert: 27.02.2007, 17:35
Bitte antwortet einem doofen Deppen...
Ich kriege das Zeichnen der Schüsse nicht hin.
Im Script Header definiere ich einen Struct für die verschiedenen Schüsse:
Im room script (repeatly_execute) habe ich folgendes:
Dazu kommt die Schüsse-Zeichnen Funktion im GS:
Wahrscheinlich habe ich mich irgendwie komplett verfahren...
oder ich habe eine Kleinigkeit übersehen...
Ich fände jede Hilfe auf jeden Fall klasse!
Ich kriege das Zeichnen der Schüsse nicht hin.
Im Script Header definiere ich einen Struct für die verschiedenen Schüsse:
Code: Alles auswählen
struct Schuss{
int Xpos;
int Ypos;
int Abgefeuert;
int Bild;
int stoesst;
};
Schuss Feuer[40];
Code: Alles auswählen
if (IsKeyPressed (13)){
if (SchussTasteUnten == false){
SchussTasteUnten = true;
if (AktuellerSchuss != 40) AktuellerSchuss=AktuellerSchuss+1;
else AktuellerSchuss = 0;
Feuer[AktuellerSchuss].Xpos = player.x;
Feuer[AktuellerSchuss].Ypos = (player.y - 20);
Feuer[AktuellerSchuss].Abgefeuert = true;
Feuer[AktuellerSchuss].Bild = 219;
}
}
else SchussTasteUnten = false;
RawRestoreScreen ();
SchuesseZeichnen (AktuellerSchuss);
Code: Alles auswählen
function SchuesseZeichnen (int AS) {
int SZ = 0;
while (SZ <= AS){
if (Feuer[SZ].stoesst == false) //Wenn Schuss nirgends anstößt
{
RawDrawImage (Feuer[SZ].Xpos, Feuer[SZ].Ypos, Feuer[SZ].Bild); //Zeichne Geschoss
Feuer[SZ].Xpos = Feuer[SZ].Xpos - 3; //Ändere Geschossposition
}
else {
if (Feuer[SZ].Bild <= 230) { //Wenn Bild Endbild
Feuer[SZ].Bild ++; //Bild hochstufen
RawDrawImage (Feuer[SZ].Xpos, Feuer[SZ].Ypos, Feuer[SZ].Bild); //Platzanimation
}
}
if (Feuer[SZ].Xpos <= 0) Feuer[SZ].stoesst = true;
SZ=SZ+1;
}
}
oder ich habe eine Kleinigkeit übersehen...
Ich fände jede Hilfe auf jeden Fall klasse!
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Sei unbesorgt, dir ist nur ein kleiner Schnitzer unterlaufen
Wenn Du "Schuss Feuer[40];" im header stehen hasst, endest Du mit mehreren Arrays, einem fürs GS und einem für jeden Raum. Die heißen zwar alle gleich, sind aber de facto unterschiedliche Variablen.
Deswegen zeichnet das GS alles bei 0:0.
Code: Alles auswählen
// header
import Schuss Feuer[40];
// gs
Schuss Feuer[40];
export Feuer;
Deswegen zeichnet das GS alles bei 0:0.
Use gopher repellent on funny little man