Second Life-Programmierung mit der Linden Scripting Language

Matthias Melzer

Second Life-Programmierung mit der Linden Scripting Language

2007

383 Seiten

Format: PDF, Online Lesen

E-Book: €  31,99

E-Book kaufen

E-Book kaufen

ISBN: 9783446415164

 

Inhalt

8

Vorwort

14

Der Aufbau des Buches

15

Erforderliche Ressourcen

16

Typografische Konventionen

16

Die Beispiele und das Buch im SecondLife

16

Feedback

17

Danksagung

17

1 Einführung in LindenScript

18

1.1 Die Entwicklungsumgebung

18

1.2 Hello, Avatar!

20

1.3 Variablen

22

1.3.1 Deklarieren von Variablen

23

1.3.2 Variablen Werte zuweisen

25

1.4 Datentypen

26

1.4.1 Integer

26

1.4.2 Float

28

1.4.3 String

28

1.4.4 Vector

29

1.4.5 Rotation/Quaternion

35

1.4.6 Key

36

1.4.7 List

36

1.5 Typumwandlung

38

1.5.1 Explizite Typumwandlung

38

1.5.2 Implizite Typumwandlung

42

1.6 Operatoren

43

1.6.1 Zuweisungsoperator

43

1.6.2 Arithmetische Operatoren

44

1.6.3 Inkrement- und Dekrementoperatoren

45

1.6.4 Relationale Operatoren

46

1.6.5 Logische Operatoren

48

1.6.6 Binäre Operatoren

50

1.6.7 Sonstige Operatoren

53

1.6.8 Priorität der Operatoren

54

1.7 Konstanten

55

1.8 Anweisungen und Blöcke

56

1.9 Kontrollstrukturen

57

1.9.1 if und if-else

57

1.9.2 while-Schleife

60

1.9.3 do-while-Schleife

61

1.9.4 for-Schleife

61

1.9.5 jump

63

1.10 Funktionen

65

1.11 In LindenScript integrierte Funktionen

69

1.11.1 Funktionen zur string-Bearbeitung

69

1.11.2 Funktionen zur list-Bearbeitung

73

1.12 In Abschnitte eingeteilte Listen (Strided Lists)

84

1.13 Kartenziehen – ein erstes Beispielprogramm

86

1.14 Ereignisse/Events

92

1.14.1 Dem Benutzer zuhören – der Event

93

1.14.2 Zeitgesteuerte Skripte – der Event

96

1.14.3 Anweisungen beim Rezzen eines Objektes ausführen – der Event on_rez

97

1.15 Zustände/States

99

2 Primitives/Objekte

104

2.1 Was ist ein Primitive? Was ist ein Objekt?

104

2.1.1 Primitives

104

2.1.2 Objekte

105

2.2 Identität eines Prims

106

2.3 Zugriffsrechte

107

2.4 Einfache Manipulationen von Prim-Eigenschaften

110

2.4.1 Auf ein Wort – die allmächtige Funktion llSetPrimitiveParams

110

2.4.2 Die Eigenschaft Physikalisch

110

2.4.3 Die Eigenschaft Phantom

113

2.4.4 Die Eigenschaft Temporär

113

2.4.5 Prim-Dimensionen

114

2.4.6 Die Position eines Prims innerhalb von Second Life

115

2.5 Formen

120

2.5.1 Pfadschnitt/Path Cut

123

2.5.2 Hohl und Hohlform/Hollow and Hole Shape

125

2.5.3 Verdrehung (Torsion)/Twist

127

2.5.4 Verjüngung/Taper

127

2.5.5 Scherung/Topshear

130

2.5.6 Vertiefung/Dimple

130

2.5.7 Lochgröße/Holesize

131

2.5.8 Profilschnitt/Profile Cut

133

2.5.9 Versatz/Skew

135

2.5.10 Umdrehungen/Revolutions

135

2.5.11 Spiralform/Radius Delta

136

2.6 Farben und Texturen von Objekten

138

2.6.1 Farben

138

2.6.2 Face, die Seiten eines Prims

139

2.6.3 Texturen

144

2.6.4 Transparente Prims/Objekte

147

2.7 Licht

148

2.8 Textliches

149

2.9 Die Funktion llSetPrimitiveParams im Überblick

150

2.9.1 Die Konstanten und Übergabewerte von llSetPrimitiveParams

150

2.9.2 Basisformen setzen mit llSetPrimitiveParams

152

2.9.3 Überblick über die Parameter der Formmanipulation

154

2.9.4 Konstanten für Sculpted Prims

155

2.9.5 Konstanten für Bumpmapping

155

2.9.6 Glanz-Konstanten

156

2.9.7 Prim-Material

156

3 Verknüpfte Objekte/Linked Sets

158

3.1 Allgemeines zu verknüpften Objekten

158

3.2 Anweisungen in verknüpften Objekten

159

3.2.1 Versenden von Nachrichten in Linked Sets

159

3.2.2 Empfangen von Nachrichten in Linked Sets

160

3.2.3 Eigenschaften abfragen und manipulieren in Linked Sets

161

3.2.4 Programmatisches Anlegen und Auflösen von verknüpften Objekten

167

4 Objektinventar

174

4.1 Allgemeines zum Objektinventar

174

4.2 WYGIWYG – eine Beispielanwendung

175

4.2.1 Das Basisskript

176

4.2.2 Einen neuen Gegenstand im Objektinventar ermitteln

179

4.2.3 Objektinventarrechte und Übergabe eines Gegenstands an einen Spieler

183

4.3 Auslesen von Notizen/Notecards

189

4.4 Skriptfunktionen

194

4.4.1 Auslesen von Landmarks

196

5 Kommunikation

198

5.1 Dialoge

198

5.2 Instant Messages

203

5.3 E-Mail

204

5.4 HTTP

207

5.5 XML-RPC

210

5.6 Beispielanwendung RSS-Reader

210

5.6.1 XyText

211

5.6.2 Das serverseitige Abrufen des RSS-Feeds

214

5.6.3 Aufruf des PHP-Skriptes aus LindenScript heraus

215

5.6.4 Der RSS-Reader als Ganzes

216

5.7 Finaler Überblick zur Kommunikation in LindenScript

219

6 Rotation, Animation und Translation eines nichtphysikalischen Objekts

222

6.1 Einführung

222

6.2 Rotation von Prims

223

6.2.1 Mathematisches

223

6.2.2 Umrechnung von Grad in Radiant und umgekehrt

224

6.2.3 Drehung eines Prims/Objektes

224

6.2.4 Wiederholte Drehung eines Prims/Objektes

225

6.2.5 Animierte Drehung mit llTargetOmega

228

6.2.6 Lokale Rotation in Linked Sets

230

6.3 Rotation und Animation von Texturen

232

6.3.1 Animation von Texturen durch Einzelbilder

234

6.3.2 Animierte Rotation von Texturen

235

6.3.3 Animation einer Textur durch Skalierung

235

7 Avatarfunktion

238

7.1 Allgemeine Avatarfunktionen

239

7.2 Sitzen

243

7.3 Attachments

247

7.4 Animation von Avataren

251

7.5 Steuerung von Avataren/Controls

256

7.6 Money, Money, Money

260

7.7 Teleports

270

8 Media

274

8.1 Audio

274

8.1.1 In-world sound

274

8.1.2 Streaming Audio

281

8.2 Video

283

9 Partikel

288

9.1 Einführung

288

9.2 Partikelemissionen beenden

290

9.3 Der Emitter

290

9.4 Die Funktion llParticleSystem

291

9.4.1 Schemata/Pattern

292

9.4.2 Den Ausstoß von Partikeln beeinflussen

294

9.4.3 Farbe von Partikeln

295

9.4.4 Transparenz

296

9.4.5 Größe von Partikeln

297

9.4.6 Das Aussehen von Partikeln mit Texturen bestimmen

297

9.4.7 Rotation des Partikelemitters

299

9.4.8 Partikel auf ein Ziel zubewegen

299

9.4.9 Überblick über alle Übergabewerte an llParticleSystem

301

9.5 Partikelbeispiele

304

9.5.1 Bling Bling

305

9.5.2 Let it snow, let it snow, let it snow

306

9.5.3 Feuer!!!

307

10 Erweiterte Objektfunktionalität

310

10.1 Huds

310

10.1.1 Vorabinformationen

310

10.1.2 Ein Hud-gesteuerter Bildbetrachter

312

10.2 Sensoren

316

10.2.1 Allgemeines zu Sensoren

317

10.2.2 Beispielprogramm Avatar-Scanner-Attachment

319

10.3 Physikalische Objekte

323

10.3.1 Beschleunigung/acceleration

324

10.3.2 Drehmoment/torque

325

10.3.3 Geschwindigkeit/velocity

326

10.3.4 Kraft/force

326

10.3.5 Masse/mass

327

10.3.6 Impuls/impulse

328

10.3.7 Reibung/friction

329

10.3.8 Schwerkraft/gravity

329

10.3.9 Energie/energy

329

10.3.10 Weitere Funktionen für physikalische Objekte

330

10.4 Kollisionen

331

10.5 Abschließendes Beispielprogramm – eine Pistole

333

11 Fahrzeuge

342

11.1 Grundkonzepte

342

11.2 Autos

344

11.2.1 Mein erstes Auto

344

11.2.2 Auto 2.0 – jetzt mit Reifen

351

11.2.3 Türen, Motorhaube und Kofferraum

352

11.2.4 Du nicht

354

11.3 Wasserfahrzeuge

356

11.4 Ein fliegender Teppich

360

11.5 Die Parameter der vehicle-Funktion im Überblick

362

A Glossar

368

B Alle Events im Überblick

372

C Alternative Editoren

374

C.1 Compiler/Debugger

374

C.2 Editoren

374

C.3 Syntax-Checker

375

Register

376

 

© 2009-2024 ciando GmbH