Counterclockwise

Das Board für Schwierigkeiten beim Adventure-Machen und zum Melden von Bugs
Post Reply
johnix
PaC-DK Newby
Posts: 21
Joined: 05 Apr 2021, 12:40

Counterclockwise

Post: # 90894Post johnix
10 Apr 2021, 16:27

Hallo erst mal und Danke an Zimondis für das sehr schöne Programm.

Im Befehl
transformobj (Objekt ; Typ; -Werte ; Zeit in Millsekunden ; smooth; counterclockwise )
ist noch das Minus Zeichen vor der Gradzahl zu beachten.

Wir hatten erst Problem damit, der Freund hat es dann aber entdeckt.
Wir, das sind ein guter Freund und ich, schreiben jetzt ein Spiel.
Wir haben Ahnung von Programmieren; also schon mal ein funktionierendes
Kurzprogramm geschrieben.
Wir haben Ahnung von Grafik, mit Photoshop.
Filme machen wir mit Windows Movie Maker und Open Toonz.
Ton mit Audacity.
Die Dokumentation mit Libre Office 6.2.
Das Spiel mit dem Point & Click DK.
Die bitten das Programm zu erweitern kommen später.

johnix
PaC-DK Newby
Posts: 21
Joined: 05 Apr 2021, 12:40

Re: Counterclockwise

Post: # 90895Post johnix
10 Apr 2021, 16:31

Zimond heisst Er Tschuldigung.

Zimond
Der Engine Papa
Posts: 3420
Joined: 06 Apr 2003, 19:34
Location: Krefeld
Contact:

Re: Counterclockwise

Post: # 90896Post Zimond
10 Apr 2021, 17:35

kannst du mal einen Auszug aus deinem Skript zeigen? Das Minus sollte nicht unbedingt nötig sein damit sich das Objekt gegen den Uhrzeigersinn dreht. Der Winkelwert sollte (ich sage deshalb sollte weil ich mir bei den Sachen nicht mehr ganz sicher bin) ein absoluter Wert sein, also immer von 0-360. Daher gibt man auch an ob es sich im oder gegen den Uhrzeigersinn drehen soll. Ein negativer Wert würde dann hoch oder runtergerechnet werden. -2 zB wäre dann einfach 358. Also wieder einmal rum.
Image

johnix
PaC-DK Newby
Posts: 21
Joined: 05 Apr 2021, 12:40

Re: Counterclockwise

Post: # 90897Post johnix
12 Apr 2021, 02:13

Klar doch.-)
{transformobj (Galaxie ;rotate ;-360 ;4500 ;100 ;counterclockwise )}
Ich hatte die Anweisung so in ein Script gesteckt um mit "Function" eine Endlosschleife zu erzeugen.
Es ist mir noch nicht gelungen.

Ich gucke gleichzeitig bei Textscene und verstehe nicht wie das Script richtig funktioniert.
Wie sind Level und Row zu bedienen? Und kann ich dort Text z.B. im Telegrammstil ausgeben?
Die Geschwindigkeit bestimmen, mit der er ausgegeben wird?

Zimond
Der Engine Papa
Posts: 3420
Joined: 06 Apr 2003, 19:34
Location: Krefeld
Contact:

Re: Counterclockwise

Post: # 90898Post Zimond
12 Apr 2021, 18:30

Wegen dem rotate muss ich zu Hause noch mal in die Demo gucken (kannst du natürlich auch, die findest du unter examples auf der Homepage Transform Demo)

Bei einer Textszene gibt es maximal neun Level mit jeweils 9 Zeilen (row) die aktiv oder inaktiv sein. Level 1 ist das Hauptmenü während die weiteren Untermenüs darstellen. Was genau meinst du mit Telegrammstil? Die Textgeschwindigkeit regelt der Befehl Textspeed () oder die Länge der Sounddatei bei Sprachausgabe.
Image

johnix
PaC-DK Newby
Posts: 21
Joined: 05 Apr 2021, 12:40

Re: Counterclockwise

Post: # 90899Post johnix
13 Apr 2021, 16:05

Textspeed in den Zusammenhang, werde ich ausprobieren.
Wie setze ich ein Row aktiv bzw. inaktiv.
Ich beginne zu verstehen, wie das mit der Textscene funktioniert.

Ich habe ein weiteres Problem
Script IDS
setnum (bn ;[bn]+[an])
if_num (ID ;[bn] )
{
textout ([bn] ;Raum [bn] ;7 ;[ty] ;1 ;0 ;0 ;0 )
setnum (ty ;[ty]+[v])
}

bn=0 am Anfang,an=1, v=33
Ich habe 12 Räume deren ID Nummer ich abfragen möchte
Raum Script Index
on (enter)
{
setnum (v ;33 )
setnum (an ;1 )
setnum (bn ;0 )
setnum (ty ;10 )

function (IDS ;12)

}

Wo denke ich falsch?

johnix
PaC-DK Newby
Posts: 21
Joined: 05 Apr 2021, 12:40

Re: Counterclockwise

Post: # 90900Post johnix
14 Apr 2021, 11:07

Ich habe das jetzt ohne Variablen geregelt.
Wenn ich ganz fertig bin, werde ich das hier vorstellen.
Ich danke noch einmal für das Programm und für Deine Mühe.-)
Ich habe jetzt erst kapiert, wofür die Textscene gut ist.

Zimond
Der Engine Papa
Posts: 3420
Joined: 06 Apr 2003, 19:34
Location: Krefeld
Contact:

Re: Counterclockwise

Post: # 90901Post Zimond
14 Apr 2021, 14:58

Ich verstehe denn Sinn der Funktion nicht ganz. Technisch müsste die funktionieren. Sie gibt entweder eine Textoutzeile (Wenn ID zwischen 1 und 12 ist) oder eben gar keine. Aber, was ist der Sinn dahinter? Der Wert der in ID ist ändert sich doch nicht beim 12x durchlaufen der Funktion. Da kann doch gar nicht mehr als eine Zeile bei rauskommen.

textout (1 ;Raum [ID] ;7 ;10 ;1 ;0 ;0 ;0 )

hätte also exakt den gleichen Effekt.
Image

johnix
PaC-DK Newby
Posts: 21
Joined: 05 Apr 2021, 12:40

Re: Counterclockwise

Post: # 90902Post johnix
15 Apr 2021, 21:17

Vielleicht war da mein Denkfehler, bei der textout funktion.
Wie geschrieben habe ich mein Problem so gelöst;
if_bool (RIDa ;true )
{
textout (A ;A ;7 ;10 ;1 ;0 ;0 ;0 )
setnum (IDn ;1 )
setobj (Knopf1; 1 )
}
if_bool (RIDa ;false )
{
setobj (Knopf1; 0 )
}
Raum1 enthält
on_enter
setbool (RIDa ;true )
Bei allen betretenen Räumen; wird RID auf true gesetzt.
Der Knopf erscheint nur wenn der dazugehörige Raum schon betreten war.--
--

Mein grosses Problem ist immer noch
transformobj (Galaxie ;rotate ;-360 ;4500 ;100 ;counterclockwise )
egal wie rum ich drehe, nach einer Drehung ist Schluss. Wir haben auch
versucht die Gradzahl mit -720 anzugeben um 2 Drehungen zu schaffen,
leider ohne Erfolg.

johnix
PaC-DK Newby
Posts: 21
Joined: 05 Apr 2021, 12:40

Re: Counterclockwise

Post: # 90903Post johnix
15 Apr 2021, 23:26

Der Indexraum in dem die RID abgefragt wird muss noch
am Ende, bei

on_exit
hidealltext ()
setobj (Knopf1; 1 )

bekommen, damit es beim nächsten betreten noch funktioniert.

Zimond
Der Engine Papa
Posts: 3420
Joined: 06 Apr 2003, 19:34
Location: Krefeld
Contact:

Re: Counterclockwise

Post: # 90904Post Zimond
16 Apr 2021, 16:12

Ach du möchtest eine dauerhafte Drehung haben? Das musst du über ein loopendes Skript machen und die Position immer anpassen.

setnum (galaxy_angle ; 0)
function (rotate_galaxy ; *)

Code: Select all

setnum (galaxy_angle ; -1)
if_num (galaxy_angle ; <0)
 setnum (galaxy_angle ; 360)

transformobj (Galaxie ;rotate ;[galaxy_angle] ; 0)
So wird das Objekt gegen den Uhrzeigersinn gedreht mit einer Geschwindigkeit von ca. 7 Sekunden pro Umdrehung.
Image

johnix
PaC-DK Newby
Posts: 21
Joined: 05 Apr 2021, 12:40

Re: Counterclockwise

Post: # 90905Post johnix
19 Apr 2021, 21:15

Danke für den Code. Jetzt versteh ich aber nicht mehr, wie drehen im Uhrzeigersinn
funktioniert. Ohne Counterclockwise und wo kommen die 7 Sekunden her?

johnix
PaC-DK Newby
Posts: 21
Joined: 05 Apr 2021, 12:40

Re: Counterclockwise

Post: # 90906Post johnix
20 Apr 2021, 20:51

Der Code ist sone art Easter Egg
den Du; Zimond mir da mitteilst.
Steht nicht in der Referenz.-)

Zimond
Der Engine Papa
Posts: 3420
Joined: 06 Apr 2003, 19:34
Location: Krefeld
Contact:

Re: Counterclockwise

Post: # 90908Post Zimond
23 Apr 2021, 22:13

Die Referenz enthält ja nur alle Befehle, nicht alle möglichen Ideen wie man sie benutzen kann. Deswegen empfehle ich noch mal die Transform Demo für einige Beispiele und natürlich das Demo Adventure als Projekt datei.

Um im Uhrzeigersinn zu drehen musst du halt +1 statt -1 verwenden.

Code: Select all

setnum (galaxy_angle ; +1)
if_num (galaxy_angle ; >360)
 setnum (galaxy_angle ; 0)
Die ca 7 Sekunden kommen daher das ein loopendes Skript 50 mal pro Sekunde ausgeführt wird. Bei einer Drehung von 1 Grad pro Durchgang ergibt das 360 / 50 also ca 7 Sekunden für eine Drehung von 360 Grad.
Image

johnix
PaC-DK Newby
Posts: 21
Joined: 05 Apr 2021, 12:40

Re: Counterclockwise

Post: # 90911Post johnix
24 Apr 2021, 13:08

Vielen Dank.-)
Meine Fragen, rund um Counterclockwise sind damit beendet.

Post Reply