fragen zu einem Moorhuhn-Klon
-
- PaC-DK Newby
- Posts: 24
- Joined: 24 Jan 2009, 15:26
- Contact:
fragen zu einem Moorhuhn-Klon
Hi, ich will eine Art Moorhuhn-Klon machen und habe dazu ein paar Fragen:
1. Ich hab hier irgendwo im Forum mal einen thread gelesen, der darum ging, die transparenten Hintergründe der Objekte im Spiel nicht anklickbar zu machen...bin mir aber nicht mehr sicher, ob das ging oder nicht und ich find den Thread auch nicht wieder...
2. Kann man Objekte durch zufall erscheinen lassen (dass sie nicht immer am selben Ort wieder auftauchen)?
3. Fällt mir bestimmt noch später ein...
1. Ich hab hier irgendwo im Forum mal einen thread gelesen, der darum ging, die transparenten Hintergründe der Objekte im Spiel nicht anklickbar zu machen...bin mir aber nicht mehr sicher, ob das ging oder nicht und ich find den Thread auch nicht wieder...
2. Kann man Objekte durch zufall erscheinen lassen (dass sie nicht immer am selben Ort wieder auftauchen)?
3. Fällt mir bestimmt noch später ein...
I was like 'OMG' n she was like 'WTF' and we were like 'OMG WTF'!
Re: fragen zu einem Moorhuhn-Klon
Wüsste nicht, wie das gehen soll.What³zUp?! wrote:1. Ich hab hier irgendwo im Forum mal einen thread gelesen, der darum ging, die transparenten Hintergründe der Objekte im Spiel nicht anklickbar zu machen...bin mir aber nicht mehr sicher, ob das ging oder nicht und ich find den Thread auch nicht wieder...
Klar. Mit randomnum kannst du Zufallsvariablen erstellen. Näheres steht im Manual. Die kannst du dann als Koordinaten für deine Hühner verwenden.What³zUp?! wrote:2. Kann man Objekte durch zufall erscheinen lassen (dass sie nicht immer am selben Ort wieder auftauchen)?
-
- PaC-DK Newby
- Posts: 24
- Joined: 24 Jan 2009, 15:26
- Contact:
Vielen Dank! Das war nämlich mein größtes Bedenken mit der Zufallskoordinate... Falls das Andere doch irgendwie gehen sollte antwortet bitte...ansonsten ist das auch nicht soooo wild...
Ich glaub ich sollte die Manual mal richtig lesen, statt nur die Tuts zu machen und die Manual zu überfliegen
PS: Wie benutz ich denn das randomnum richtig?
Ich glaub ich sollte die Manual mal richtig lesen, statt nur die Tuts zu machen und die Manual zu überfliegen
PS: Wie benutz ich denn das randomnum richtig?
I was like 'OMG' n she was like 'WTF' and we were like 'OMG WTF'!
In der Skriptreferenz des Handbuchs steht:
Dann passt noch folgendes:PaCDK Manual wrote:randomnum (name ; obergrenze)
Setzt einen Zahlenwert mit einem zufälligen Wert der von 1 bis zur Obergrenze gehen kann.
Mal angenommen, du hast eine Auflösung von 800x600, dann ist der Code, den du brauchst, folgender:PaCDK Manual wrote:moveobj (instanz ; x ; y ; speed or time ; wait)
Bewegt ein Objekt. X und Y ist das Ziel in der absoluten Pixelzahl im Raum. Speed ist eine Zahl wobei 9 die Langsamste ist und 0 das Objekt ohne Bewegung sofort versetzt. Statt dessen läßt sich auch eine Millisekundenangabe machen z.B 1000ms, die Zeit die das Objekt dann braucht um sein Ziel zu erreichen. X und Y kann eine Zahl sein oder eine Variable definiert durch eckige Klammern.
Wird "wait" als letztes angegeben wird in einer Cutscene gewartet bis das Objekt sein Ziel erreicht hat.
Code: Select all
randomnum(xobj;800)
randomnum(yobj;600)
moveobj(Federvieh;[xobj];[yobj];0)
-
- PaC-DK Newby
- Posts: 24
- Joined: 24 Jan 2009, 15:26
- Contact:
Danke, habs jetzt soweit, dass wenn die viecher abgeschossen werden erst nach unten abstürzen und dann zurück an die seite teleportiert werden...dazu hab ich jetzt aber auch noch ne frage...kann man einen Teil des Raumes (bei mir ganz rechts und links) für den Spieler nicht sichtbar machen, so dass an den Seiten die Objekte neu auftauchen? So in etwa:
I was like 'OMG' n she was like 'WTF' and we were like 'OMG WTF'!
Wenn du mit "nicht sichtbar" schwarze Balken meinst, dann könntest du einfach je ein Opjekt erstellen, dieses mit nem schwarzen Bild füllen und es nach vorne setzen. Sicherheitshalber sollten die Morhühner dann in der mittleren Ebene dargestellt werden, daß sie die Balken nicht plötzlich überdecken.
[img]http://img269.imageshack.us/img269/4060/enjoylachibalken.png[/img]
Ich glaube eher, er meinte, dass die grüne Fläche den ganzen Bildschirm darstellt und dass die Objekte aus dem weißen, d.h. von der Seite ins Bild kommen. Du musst dazu im Raumfenster die Breite über deine Spielauflösung hinaus erhöhen. Geht möglicherweise nur, wenn auch der Hintergrund über die Spielauflösung hinausgeht. Jetzt hast du rechts vom sichtbaren Ausschnitt im Spiel noch Raum. Damit aber sowohl links als auch rechts noch Spielraum ist, musst du nach dem Raumladen noch den "setpos()"-Befehl anwenden, die Kameraposition sozusagen in der gesamten Breite des Raums zentrieren.
Du willst die Objekte über den Bildschirm hinaus rein- und rausschieben, richtig? Versuch mal, bei den "moveobj()"-Befehlen Werte jenseits der Spielauflösung einzusetzen. Ich müsste es auch erst nochmal testen, aber ich bin mir sicher, dass z.B. bei einer Auflösung von 800x600 ein "moveobj(Masthenne;850;10;5)" das Objekt aus dem Bildschirm herausschieben würde. Wenns nicht tut, dann auch mal +800 und -800 probieren...
Du willst die Objekte über den Bildschirm hinaus rein- und rausschieben, richtig? Versuch mal, bei den "moveobj()"-Befehlen Werte jenseits der Spielauflösung einzusetzen. Ich müsste es auch erst nochmal testen, aber ich bin mir sicher, dass z.B. bei einer Auflösung von 800x600 ein "moveobj(Masthenne;850;10;5)" das Objekt aus dem Bildschirm herausschieben würde. Wenns nicht tut, dann auch mal +800 und -800 probieren...
-
- PaC-DK Newby
- Posts: 24
- Joined: 24 Jan 2009, 15:26
- Contact:
Baelavay hat recht, wie ich das vor hab...
Allerdings bewgen sich meine Hühner nicht richtig...ich weiß ja auch was flasch ist, weiß aber nicht, wie ichs beheben soll...Meine Cutscene Runhuhn:
Im Moment geht das Huhn nur auf eine beliebige y-Position, will dann los, aber da startet die Cutscene schon wieder von neu...wait und break sind nicht die besten Lösungen dafür...gibt es nicht einen Befehl, dass wenn das Huhn eine bestimmte Position erreicht hat, ein anderer Befehl ausgeführt wird? if_pos gibts nicht
Allerdings bewgen sich meine Hühner nicht richtig...ich weiß ja auch was flasch ist, weiß aber nicht, wie ichs beheben soll...Meine Cutscene Runhuhn:
Code: Select all
randomnum (yobj; 460)
moveobj (Huhn; 0; [yobj]; 0)
wait(0.5)
moveobj (Ball; 620; [yobj]; 8)
Cutscene(runhuhn)
I was like 'OMG' n she was like 'WTF' and we were like 'OMG WTF'!
-
- PaC-DK Newby
- Posts: 24
- Joined: 24 Jan 2009, 15:26
- Contact:
Ich habe jetzt folgenden
Und jetzt fliegt das Huhn auch bi zur 620, aber dann startet er nicht wieder neu
Code: Select all
randomnum (yobj; 460)
moveobj(Huhn; 0; [yobj]; 0)
wait(0.5)
moveobj (Huhn; 620; [yobj]; 8)
if_xobj(Huhn; 621)
{
Cutscene(runhuhn)
}
I was like 'OMG' n she was like 'WTF' and we were like 'OMG WTF'!
Das hier gezeigte Script läßt jetzt nur Vermutungen zu, da die Befehle in der Cutscene uns ja unbekannt sind. Aber sollte es sich nur um das Raumscript handeln, dann wird dir on(loop1) sicher weiterhelfen.
Also:
zu genauerer Erläuterung siehe ebenfalls das Manual unter Script-Referenz / ON-Befehle
Also:
Code: Select all
on(loop1)
{
*dein code*
}
[img]http://img269.imageshack.us/img269/4060/enjoylachibalken.png[/img]
An What³zUp?!s letzten Skript stimmt schon mal nicht, dass der y-Wert des Objekts zufällig verändert wird, dann in der letzten Zeile aber der x-Wert abgefragt wird. Du setzt den x-Wert in Zeile 4 auf 620, daher kann dieser nie 621 werden.
Wenn du "wait" hintendran setzt, wird erst zur nächsten Skriptzeile gesprungen, wenn das Objekt sein Ziel erreicht hat. Functions könnten hierbei eine Ausnahme darstellen, das sei einfach auszutesten.
Außerdem eignen sich Functions hervorragend für Skripts, die wiederholt werden sollen. Dazu erstellst du eine ganz normale Cutscene, die du dann aber mit "function(runhuhn;Anzahl Wiederholungen oder "infinite")" startest.
-------
Folgender Text ist nur dafür gedacht, eine Alternative zu bieten, falls meine Befürchtung, dass das "wait" beim "moveobj()" in Functions übergangen wird, wahr wird. Und zwar brauchst du dann zwei Functions, beide mit "infinite" gestartet.
In Function 1 kommt:
Hierbei wird das Objekt um 2 Pixel pro Sekunde nach unten verschoben. Für eine schnellere Bewegung ist ein kleinerer Wert statt 25 nötig.
Damit jetzt das Objekt nicht ewig verschoben wird, brauchst du eine Function 2 mit:
Das heißt: Wenn das Objekt den y-Wert 300 überschreitet, wird es wieder auf 100 zurückgesetzt. Das setzt voraus, das das Objekt zu Beginn auf (620/100) positioniert war. Falls nicht, musst du die Werte entsprechend anpassen.
moveobj (instanz ; x ; y ; speed or time ; wait)What³zUp?! wrote:gibt es nicht einen Befehl, dass wenn das Huhn eine bestimmte Position erreicht hat, ein anderer Befehl ausgeführt wird?
Wenn du "wait" hintendran setzt, wird erst zur nächsten Skriptzeile gesprungen, wenn das Objekt sein Ziel erreicht hat. Functions könnten hierbei eine Ausnahme darstellen, das sei einfach auszutesten.
Außerdem eignen sich Functions hervorragend für Skripts, die wiederholt werden sollen. Dazu erstellst du eine ganz normale Cutscene, die du dann aber mit "function(runhuhn;Anzahl Wiederholungen oder "infinite")" startest.
-------
Folgender Text ist nur dafür gedacht, eine Alternative zu bieten, falls meine Befürchtung, dass das "wait" beim "moveobj()" in Functions übergangen wird, wahr wird. Und zwar brauchst du dann zwei Functions, beide mit "infinite" gestartet.
In Function 1 kommt:
Code: Select all
setnum(count;+1)
if_num(count;25)
{
moveobj(Huhn;620;+1;0)
setnum(count;0)
}
Damit jetzt das Objekt nicht ewig verschoben wird, brauchst du eine Function 2 mit:
Code: Select all
if_yobj(Huhn;>300)
moveobj(Huhn;620;100;0)
-
- PaC-DK Newby
- Posts: 24
- Joined: 24 Jan 2009, 15:26
- Contact:
Ist es irgendwie möglich sone "scrollfunktion" wie bei Moorhuhn mit dem PaC-DK zu erstellen? Also mit: Maus an beispielsweise rechten bildschirmrand bewegen und dann scrollt der bildschirm nach rechts, bis die maus wieder weg vom rand is...?
I was like 'OMG' n she was like 'WTF' and we were like 'OMG WTF'!
Ja, das ist möglich.
Entweder erstellst du im Hintergrund berührungssensitive Dummy-Objekte (d.h. mit "on(mouse)"), die bei Mausüberflug den in Objekten dargestellten Hintergrund verschieben lassen.
Nachzulesen ist das hier: http://board.adventure-creator.com/viewtopic.php?t=9938
Ich habe dazu auch mal eine Funktionsdemo erstellt: http://files.filefront.com/Fluent_Turni ... einfo.html
Eine andere Herangehensweise, die mir spontan einfällt, wäre, dass du "setfocus()" auf einen unsichtbaren Charakter im Raum gesetzt hast (ohne Walksound und ohne Grafiken), den du der Mausposition folgen lässt. Damit schwenkt die Kamera immer dorthin, wo du die Maus hinbewegst.
Entweder erstellst du im Hintergrund berührungssensitive Dummy-Objekte (d.h. mit "on(mouse)"), die bei Mausüberflug den in Objekten dargestellten Hintergrund verschieben lassen.
Nachzulesen ist das hier: http://board.adventure-creator.com/viewtopic.php?t=9938
Ich habe dazu auch mal eine Funktionsdemo erstellt: http://files.filefront.com/Fluent_Turni ... einfo.html
Eine andere Herangehensweise, die mir spontan einfällt, wäre, dass du "setfocus()" auf einen unsichtbaren Charakter im Raum gesetzt hast (ohne Walksound und ohne Grafiken), den du der Mausposition folgen lässt. Damit schwenkt die Kamera immer dorthin, wo du die Maus hinbewegst.
Icharbeite gerade am gleichen Problem habs auch teilweise Hingekriegt und Zimond über arbeitet es wenn fertig ist meld ich mich wiederWhat³zUp?! wrote:Ist es irgendwie möglich sone "scrollfunktion" wie bei Moorhuhn mit dem PaC-DK zu erstellen? Also mit: Maus an beispielsweise rechten bildschirmrand bewegen und dann scrollt der bildschirm nach rechts, bis die maus wieder weg vom rand is...?
Das von Baelavay is ja mit moveobj ich glaub dir hilft eher setpos so wie ichs gemacht hab
ich meld mich sobald Zimond fertig ist