|
Om det här är ditt första besök, se till att gå till vår FAQ (finns även länk till FAQ i navigeringsmenyn ovan). Du kan behöva att registrera dig innan du kan posta (finns även en länk till registrering i navigeringsmenyn ovan). För att titta på inlägg, välj det forum som du vill besöka från de som är listade nedan. |
|
|
Ämnesverktyg | Visningsalternativ |
|
2017-01-29, 22:04 | #1 | |
Medlem
Reg.datum: Sep 2002
Ort: Stockholm, Sweden
Inlägg: 1 430
|
Scriptfundering
Vi kör direkt med en fråga:
Finns det en bra guide någonstans? - Den på http://online.ts2009.com hjälper föga. Eller är helt enkelt det bästa att förstå sig på/sno från folk som skapat objekt? Det jag vill åstadkomma är en trafikljus med lite utbytbara signaler på. Stolpe { ## Val av textur på stolpen ## Val av pryl på stolpen (1-4 st) { #### Val av textur prylen #### Val av objekt på prylen { ###### // objektet fäster vid olika punkter beroende på vad det sitter för pryl ###### Rotation av objektet (fäst på en attachment point) - Om trainz klarar av detta? ###### Textur på objektet }}} Vet inte om min otroligt vackra trädstruktur hjälper eller stjälper. I rutan på trainz: Citat:
Om någon kunde sparka mig i rätt riktning så vore jag tacksam =)
__________________
/Leoj Jaudidamdamdubidamdam |
|
|
2017-02-01, 23:25 | #2 |
Medlem
Reg.datum: Jan 2008
Ort: Uppland, Sverige
Inlägg: 2 721
|
Någon bra guide, njae. Det är mest att kolla runt på sidorna på wikin om de grundläggande strukturerna i språket och mest att kolla på andras kod. Att kolla de inbyggda klasserna som du kan hitta i installationsmappen .../TANE/resources/scripts/ kan hjälpa en del. Mycket saker är ju native-implementerade, så där ser du inte koden, men det finns en del saker som är implementerade i scriptet självt som man kan kolla på.
Har du bra koll på ett objektsorienterat programmeringsspråk som Java eller C# (Eller C++) så är det inga problem att förstå sig på. Personligen tycker jag Trainz scriptspråk är ett av de trevligaste programmeringsspråken jag har hållit på med, en mix av alla de bästa delarna av de största programmeringsspråken. Kolla runt lite på API:t till MeshObject, där finns de flesta av de metoder som du är intresserad av att använda för att till exempel byta textur eller för att visa/dölja mesher på ditt objekt. Rotation och translation av mesh finns där, har dock aldrig använt det själv. Är inte helt med på hur du menar med det du beskriver att du vill göra i propertyrutan, men är nog möjligt. Det är ju egentligen en simpel html-rendreringsmotor, så alla basic html-taggar finns ju tillgängliga, däribland table/tr/th för tabeller, se till exempel Svenolovs propertyrutor till mastrarna som använder massor av sådana funktioner.
__________________
-k- |
2017-02-02, 17:56 | #3 |
Medlem
Reg.datum: Sep 2002
Ort: Stockholm, Sweden
Inlägg: 1 430
|
En kort följdfråga för närvarande.
Är detta guiden du avser? http://online.ts2009.com/mediaWiki/i...AnimationState För jag hittar inget om rotation där?
__________________
/Leoj Jaudidamdamdubidamdam |
2017-02-02, 18:22 | #4 |
Medlem
Reg.datum: Jul 2011
Ort: Vingåker
Inlägg: 346
|
Hej!
Nästan, problemet är att just det du efterfrågar inte står i wikin, bra va!! Du får gå in och kolla i meshobject.gs, där korvtiger nämnde att scriptfilerna ligger. I .gs filen så finns det SetMeshOrientation() som roterar ett objekt runt sina axlar och SetMeshTranslation() som ändrar positioneringen av objektet. mvh Håkan
__________________
Fd. signalreparatör på Banverket. Sjukpensionär bla pga Aspergers syndrom. Använder numera T:ANE på en iMac (Retina, 27", -15), 24GB, OSX Sierra 10.12.6 (25/9-17) Hemsida för nedladdning av mina objekt: https://blomsson4073.se/index.html Senast redigerad av blomsson den 2017-02-02 klockan 18:23. |
2017-02-07, 03:09 | #5 | |
Medlem
Reg.datum: Sep 2002
Ort: Stockholm, Sweden
Inlägg: 1 430
|
Det håller på att komma extremt många fina ord ur min mun här som inte riktigt passar sig skrivna
Man skulle kunna sammanfatta det med Nåja, var väl inte riktigt ursprungsfrågans script jag håller på med nu.. Men kan ju lika gärna sammanfatta alla mina scriptproblem tillsammans.. Citat:
Kod:
Asset asset = GetAsset(); (rad 406) StringTable strTableA = asset.GetStringTable(); (rad 408) Försökte mig exempelvis mig på att göra ett library.. Den bara fräste och spottade trotts att jag tyckte jag gjort liknande två andra personers script.. Om jag ska vara helt ärlig fattar jag inte ens vad det är som gör att rutan egentligen dyker upp.. För att sammanfatta vad jag försökt göra.. Jag tänkte först ge mig på att lägga till ett val på det normala stations scriptet. När jag grottade ner mig i scripten insåg jag att jag ville egentligen skriva om lite andra funktioner också i scriptet som jag inte uppskattar.. Så jag löste det med att kopiera genericpassengerstation.gs och passengerstationinfo.gs och döpte om dessa helt enkelt. Min önskan hade varit att inte ha med all kod utan bara att mina ersättningsfunktioner skulle slå ut orginalkoderna.. Men.. Ja.. Nu sitter jag och svär och fattar inte mig på hur trainz ens tänker i script.. I min mening finns det ingen logik i något just nu.. Eller ja, varför man inte har lyckats klämma ut en vettig guide som börjar på a och slutar på d och förklarar alla steg på vägen. Jag tycker att om man läst Java på gymnasiet och en kurs i vardera Java/C på högskolan så BORDE jag förstå koden och se något sammanhang, men nej..
__________________
/Leoj Jaudidamdamdubidamdam |
|
2017-02-07, 23:34 | #6 |
Medlem
Reg.datum: Jan 2008
Ort: Uppland, Sverige
Inlägg: 2 721
|
Låter uppenbarligen lite märkligt.
Vad kompilatorn klagar på är att den inte hittar någon metod med namnet "GetAsset". So far inga konstigheter. Sedan är det ju frågan varför den inte hittar någon sådan metod. Den ligger ju i TrainzGameObject, som alla script borde ärva ifrån. Jag har kontrollerat att Library ärver den. Kontrollera att ditt script faktiskt ärver Library-klassen, så att du inte missat det. Kompilatorn kan vara lite märklig ibland, så det kan hända att detta är ett parsningsfel som ger sig till känna som ett syntaxfel. Alltså att det är felskrivet någonstans, så kontrollera att alla måsvingar {} och parenteser () är stängda korrekt. Om inget annat fungerar, gör en kopia på filen och ta sedan bort delar av koden tills den kompilerar. Därefter lägger du tillbaka saker från kopian tills det slutar fungera igen. På så sätt kan du kanske lokalisera vad felet är.
__________________
-k- |