ActionScript 2 - Ein Lehr- und Übungsbuch

von: Arno Kohl

Springer-Verlag, 2011

ISBN: 9783540351825 , 600 Seiten

Format: PDF

Kopierschutz: Wasserzeichen

Windows PC,Mac OSX für alle DRM-fähigen eReader Apple iPad, Android Tablet PC's

Preis: 14,99 EUR

  • IT-Risikomanagement leben! - Wirkungsvolle Umsetzung für Projekte in der Softwareentwicklung
    Mobile and Wireless Network Security and Privacy
    Windows Vista
    Enterprise Interoperability II - New Challenges and Approaches
    IT-Projektrecht - Vertragliche Gestaltung und Steuerung von IT-Projekten, Best Practices, Haftung der Geschäftsleitung
    Pro WPF - Windows Presentation Foundation in .NET 3.0
  • What's App? - Genial und verrückt! - Die Welt der kleinen Alleskönner

     

     

     

     

     

     

     

     

 

Mehr zum Inhalt

ActionScript 2 - Ein Lehr- und Übungsbuch


 

Einleitung

16

ActionScript: Geschichte, Versionen, Ausblick

19

Programmentwicklung und Programmiersprachen

24

3.1 Ansätze (Top-Down, Bottom-Up)

24

3.2 Algorithmus als Problemlösung

25

3.3 Hilfsmittel zur Entwicklung von Algorithmen

26

3.3.1 Flowcharts

27

3.3.2 Pseudo-Code

28

3.4 Beispiel-Algorithmus „Kaffee kochen“

29

Programmierung und ActionScript

40

Framework und Codeorganisation

48

5.1 Skriptarten (Objekt- und Bildskript)

48

5.2 Anzahl der Bildskripte

50

5.3 Aufbau eines Skripts

50

Operatoren

54

6.1 Zuweisungsoperator

55

6.2 Arithmetische Operatoren

55

6.3 Inkrement-/Dekrementoperator

56

6.4 Stringoperatoren

57

6.5 Vergleichsoperatoren

59

6.6 Logische Operatoren

61

6.7 Bit-Operatoren

63

6.8 Sonstige

64

Variablen

67

7.1 Deklaration

67

7.2 Wertezuweisung

70

7.3 Reichweite

72

7.4 Parameter und Zählvariablen

74

7.5 Konstanten

74

Datentypen

75

8.1 Boolean

76

8.2 Number

76

8.3 String

79

8.4 Null, undefined

79

8.5 MovieClip

80

8.6 Object

80

8.7 Void

80

Arrays

81

9.1 Arrays einrichten und die Länge definieren

81

9.2 Arrays bei der Deklaration füllen

82

9.3 Zugriff auf Inhalte

82

9.4 Arrays dynamisch füllen

84

9.5 Löschen von Elementen

86

9.6 Arrays sortieren und durchsuchen

89

9.7 Weitere Methoden

92

9.8 Mehrdimensionale Arrays

93

9.9 Assoziative Arrays

94

Funktionen

97

10.1 Funktionsdeklaration und -aufruf

97

10.2 Funktionen ohne Bezeichner

98

10.3 Gültigkeit

99

10.4 Verschachtelung von Funktionen

100

10.5 Parameter

101

10.6 Funktionen mit Rückgabewert (return)

103

10.7 Von Flash zur Verfügung gestellte Funktionen

104

10.8 Rekursion

105

Kontrollstrukturen

106

11.1 Bedingungen

106

11.1.1 Die if-Anweisung

106

11.1.2 Verschachtelte if-Anweisungen, logisches und, logisches oder

109

11.1.3 if else

110

11.1.4 else if

111

11.1.5 switch, break

112

11.2 Schleifen

114

11.2.1 for-Schleife

115

11.2.2 break, continue

119

11.2.3 while-Schleife

119

11.2.4 do while-Schleife

120

11.2.5 for in-Schleife

121

11.2.6 Endlosschleifen

122

MovieClip-Klasse

123

12.1 Eigenschaften von MovieClips

123

12.1.1 Adressierung von MovieClips

123

12.1.2 _x, _y, _xmouse, _ymouse, _width, _height

129

12.1.3 _xscale, _yscale

133

12.1.4 _rotation, _alpha, _visible

135

12.1.5 blendMode

138

12.1.6 _currentframe, _totalframes

140

12.2 Ereignisse

140

12.2.1 onEnterFrame

141

12.2.2 Schaltflächenereignisse von MovieClips

142

12.2.3 Maus-Ereignisse

145

12.3 MovieClip-Methoden

146

12.3.1 Zeitleistensteuerung

146

12.3.2 Objekte dynamisch einfügen

148

12.3.3 Drag and Drop

157

12.3.4 Kollision

158

12.3.5 Maskierung

160

12.3.6 Ausdehnung und Koordinaten

161

12.4 Die Mutter aller MovieClips: _root (_level0)

163

Zeichnungsmethoden der MovieClip-Klasse

165

13.1 Linien, Kurven und Füllungen

166

13.2 Verlaufsfüllungen

170

13.3 Ereignisse, Methoden, Eigenschaften

175

13.4 Geometrische Grundfiguren (Kreis, Oval, Polygon, Stern)

175

String, Textfield, Textformat

182

14.1 Strings erzeugen und String-Wert auslesen

182

14.2 Länge

183

14.3 Verkettung

183

14.4 Escape-Sequenzen und Sonderzeichen

183

14.5 ASCII-Zeichensatz

185

14.6 Teilstrings extrahieren

187

14.7 Teilstrings ermitteln

188

14.8 Groß-/Kleinbuchstaben

188

14.9 Text, Textfelder

189

14.10 Textauszeichnung/-formatierung

193

14.10.1 TextFormat

193

14.10.2 Formatierung mit HTML

197

14.10.3 Formatierung mit CSS

199

14.11 Darstellung größerer Textmengen

201

14.12 Eingabetext

202

Math-Klasse

207

15.1 Eigenschaften: Konstanten

207

15.2 Methoden

208

15.2.1 Auf- und Abrunden

208

15.2.2 Zufallszahlen

209

15.2.3 Weitere Methoden

213

Color-/ColorTransform-Klasse

215

16.1 Klassenpakete und Instanziierung von Klassen

215

16.2 Vollständiges Einfärben

216

16.3 Einfärben mit Hilfe einzelner Farbkanäle

217

Maus und Tastatur

220

17.1 Die Mouse-Klasse

220

17.1.1 Eigene Cursor

220

17.1.2 Mausereignisse

222

17.2 Tastatur

225

BitmapData- und Filter-Klasse

228

18.1 Bitmap versus Vektor

228

18.2 Instanziierung der BitmapData-Klasse

230

18.3 Eigenschaften der BitmapData-Klasse

231

18.4 Methoden der BitmapData-Klasse

231

18.4.1 Dispose()

232

18.4.2 FillRect(), floodFill()

233

18.4.3 GetPixel(), getPixel32(), setPixel(), setPixel32()

234

18.4.4 LoadBitmap(), draw(), copyPixels(), clone()

236

18.4.5 Noise(), perlinNoise()

239

18.5 Optimierung mit Hilfe von BitmapData

242

18.6 Filter

242

18.6.1 Bevel-Filter

243

18.6.2 Blur-Filter

244

18.6.3 DropShadow-Filter

245

18.6.4 Glow-Filter

245

18.6.5 GradientBevel-Filter

246

18.6.6 GradientGlow-Filter

246

18.6.7 ColorMatrix-Filter

247

18.6.8 Convolution-Filter

248

18.6.9 DisplacementMap-Filter

249

Sound

251

19.1 Sound abspielen und stoppen

251

19.2 Einen Sound loopen

254

19.3 Externe Sounds

255

Externe Assets

256

20.1 Laden externer swf-Dateien

257

20.2 Eigenschaften der geladenen Dateien

262

20.3 Anzeigen der Ladekontrolle (Preloader mit getBytesLoaded())

268

20.4 Überblenden bei Ladevorgängen

275

20.5 Alternative Ladekontrolle (Preloader mit der MovieClipLoader-Klasse)

280

20.6 Beispiel modulare Website

281

20.7 Code

285

XML

286

21.1 Aufbau von XML-Dokumenten

286

21.2 Laden von XML-Dokumenten (new XML, load(), onLoad, onData)

289

21.3 Zugriff auf den gesamten Inhalt einer XML-Datei (firstChild, ignoreWhite)

291

21.4 Verarbeitung einzelner Daten

292

Tween- und TransitionManager-Klasse

295

22.1 Tween-Klasse

295

22.2 Beschleunigungsklassen und -methoden

296

22.3 Eigenschaften (duration, finish, FPS, position, time)

298

22.4 Methoden

298

22.5 Ereignisse

299

22.6 Sukzessive Animation verschiedener Eigenschaften

300

22.7 TransitionManager-Klasse

302

22.8 Eigenschaften, Methoden und Ereignisse

303

22.9 Übergangstypen

304

Debugging

306

23.1 Fehlertypen

306

23.2 Erste Fehlerkontrolle mit Auto-Format

307

23.3 Das Nachrichtenfenster

311

23.4 Der integrierte Debugger

315

Geskriptete Animationen

320

24.1 Animationskategorien

320

24.2 Einmalige Animation

321

24.3 Animation mit onEnterFrame und fester Schrittweite

322

24.4 Animation mit setInterval() und fester Schrittweite

328

24.5 Zeitsteuerung

332

24.6 Dynamische Schrittweite

333

24.7 Feste Schrittanzahl

336

24.8 Fehlerquelle Schleife

340

24.9 Überprüfung von Grenzwerten

341

24.10 Grenzbedingung und Verwendung von Animationsobjekten

342

24.10.1 Löschen des Objekts

343

24.10.2 Bouncing off

345

24.10.3 Screen wrap

346

24.10.4 Neue Zufallsposition

347

Trigonometrie

348

25.1 Einige Grundlagen der planen Trigonometrie

348

25.2 Abstände zwischen Objekten

350

25.3 Kreise und Ellipsen

352

25.4 Spiralen

354

25.5 Code

357

25.6 Spiralförmige Animation eines Objekts

357

25.7 Sinustäuschung

360

25.8 Drehung eines Objekts zu einem anderen Objekt

361

25.9 Interaktiver Schlagschatten

363

25.10 Code

365

Effekte (Text)

367

26.1 Text vergrößern und ein-/ausblenden

367

26.2 Code

373

26.3 Einzelne Zeichen einfärben

374

26.4 Code

377

26.5 Einzelne Zeichen vergrößern und verkleinern

379

26.6 Code

380

26.7 Text mit Farbverlauf

380

26.8 Code

385

26.9 Schreibmaschineneffekt

387

26.10 Text einblenden aus Zufallsbuchstaben

388

26.11 Code

391

26.12 Weitere Effekte

392

Effekte (Grafik)

393

27.1 Einfärben über einzelne Farbkanäle

393

27.2 Code

399

27.3 Organische Moleküle

401

27.4 Code

404

27.5 Beleuchtungseffekt mit Maske

404

27.6 Code

407

27.7 Überblendeffekt mit Maske

408

27.8 Code

411

27.9 Mosaik-Effekt

412

27.10 Code

415

Effekte (Maus)

417

28.1 Maus(ver)folger

418

28.2 Code

428

28.3 Initialisierung von Animationen

430

28.4 Code

434

28.5 Eigenschaftsänderungen

435

28.6 Code

437

Interface und Navigation

438

29.1 Check Boxes

438

29.2 Radio Buttons

441

29.3 Combo-Box

443

29.4 Code

447

29.5 Variante

448

29.6 Slider

449

29.7 Drag and Drop-Elemente

450

29.8 Code

454

29.9 Einfaches Fenster-System mit scale9Grid

455

29.10 Code

461

29.11 Varianten und Erweiterungen

463

Menü-Systeme

464

30.1 Kreismenüs

465

30.2 Code

472

30.3 Elliptisches Menü

474

30.4 Code

480

30.5 Akkordeon

481

30.6 Code

486

30.7 Drop Down-Menü

487

30.8 Code

491

Bildergalerien

493

31.1 Einfache Galerie mit Slider und internen Assets

494

31.2 Code

502

31.3 Eine Variante

503

31.4 Code

506

31.5 Galerie mit externen Assets

506

31.6 Code

518

31.7 Einige Varianten

520

Spiele

521

32.1 Pairs

521

32.2 Code

527

32.3 Puzzle

528

32.4 Code

539

Ressourcen

542

33.1 Literatur

542

33.2 Lernvideos

544

33.3 Webseiten

545

Sachverzeichnis

549

Abbildung 1: Standardsymbole zur Entwicklung eines Flowcharts

27

Abbildung 2: Beispielhaftes Flussdiagramm (Programmlogik)

28

Abbildung 3: Variablen- und Funktionsdefinition

36

Abbildung 4: Anweisungsblock

37

Abbildung 5: Argument, Parameter, Schleife

37

Abbildung 6: Anweisung, Bedingung, Funktionsaufruf

38

Abbildung 7: Integrierter AS-Editor

44

Abbildung 8: Zuweisung eines Objektskripts

49

Abbildung 9: Fixieren des Skriptfensters

49

Abbildung 10: Operanden und Operatoren

54

Abbildung 11: Codehinweise zu Datentypen

67

Abbildung 12: Arraylänge, -index und -inhalte

83

Abbildung 13: Verwendung einer parametrisierten Funktion

102

Abbildung 14: Vorgegebene Funktionen

105

Abbildung 15: Fehlermeldung bei Endlosschleife

122

Abbildung 16: Eigenschaftsfenster eines MovieClips auf der Bühne

123

Abbildung 17: Verschachtelter MovieClip auto

125

Abbildung 18: Pfadhierarchie

126

Abbildung 19: Relative Adressierung mit _parent

129

Abbildung 20: Kartesisches Koordinatensystem

129

Abbildung 21: Kartesisches Koordinatensystem in Flash (Hauptzeitleiste)

130

Abbildung 22: Skalieren eines MovieClips

133

Abbildung 23: Spiegelung mit _xscale

134

Abbildung 24: Positionierung der MovieClips

138

Abbildung 25: Überlappende MovieClips

144

Abbildung 26: Beispielhafter Aufbau der Übung

147

Abbildung 27: Kollisionserkennung mit hitTest()

160

Abbildung 28: Ergebnis von getBounds() bei verschiedenen Koordinatensystemen

162

Abbildung 29: Beispiel einer geskripteten Zeichnung

167

Abbildung 30: Haus und Grundstück des Autors

168

Abbildung 31: Zur Funktionsweise von curveTo()

169

Abbildung 32: Zweifarbiger, radialer Farbverlauf Rot – Orange

171

Abbildung 33: Koronaartiger Grafikeffekt mit Verlaufsfüllung

173

Abbildung 34: Verschiebung des Verlaufsmittelpunkts

173

Abbildung 35: Oval

178

Abbildung 36: Händisch erstelltes Textfeld

189

Abbildung 37: Textformatierung mit der TextFormat-Klasse

195

Abbildung 38: Erweiterte Textformatierung mit der TextFormat-Klasse

195

Abbildung 39: Verwendung der Komponente UIScrollBar

202

Abbildung 40: Eingabefeld für die Mail-Adresse

205

Abbildung 41: Einfärben eines MovieClips

216

Abbildung 42: Erweiterte Farboptionen einer MovieClip-Instanz

217

Abbildung 43: Eigener Mauszeiger in Aktion

221

Abbildung 44: Erzeugung eines Punktrasters mit setPixel()

235

Abbildung 45: Erzeugung eines zufälligen Musters mit setPixel32()

235

Abbildung 46: Ausschnittweises Kopieren einer Grafik

238

Abbildung 47: Erzeugung einer Störung mit Hilfe der perlinNoise()-Methode

241

Abbildung 48: Skinners „Pflanzengenerator“

243

Abbildung 49: Bevel-Filter

244

Abbildung 50: Bevel-Filter mit maximaler Stärke

244

Abbildung 51: GradientBevel-Filter

246

Abbildung 52: 4 × 5-Matrix des ColorMatrix-Filters

247

Abbildung 53: DisplacementMap-Filter

250

Abbildung 54: Einstellungen für das Sound-Verhalten

252

Abbildung 55: Weitere Einstellungen für das Sound-Verhalten

253

Abbildung 56: Externer Ladevorgang in der Hauptzeitleiste

258

Abbildung 57: Auswirkungen von _root auf externe Ladeprozesse

260

Abbildung 58: Verschachtelte Ordnerstruktur für externe Ladevorgänge

260

Abbildung 59: Fehlermeldung bei fehlgeschlagenem Ladeaufruf

261

Abbildung 60: Eigenschaftsänderungen bei externen Ladevorgängen

263

Abbildung 61: Fehlerhafte Positionierung einer extern geladenen Grafik

265

Abbildung 62: Bandbreiten-Profiler zur Kontrolle des Ladevorgangs

266

Abbildung 63: Konfiguration der Download-Simulation

267

Abbildung 64: Simulation eines externen Ladevorgangs

267

Abbildung 65: Zeichnen der Elemente des Ladebalkens

274

Abbildung 66: Aufbau der Anwendung

278

Abbildung 67: Phase 1 des Ladevorgangs

279

Abbildung 68: Phase 2 des Ladevorgangs

279

Abbildung 69: Phase 3 des Ladevorgangs

279

Abbildung 70: Datei literatur1.xml im Internet Explorer

287

Abbildung 71: Fehlerhaftes XML-Dokument im Internet Explorer

288

Abbildung 72: Beschleunigungseffekt Back.easeIn

297

Abbildung 73: Beschleunigungseffekt Bounce.easeIn

297

Abbildung 74: Beschleunigungseffekt Elastic.easeIn

297

Abbildung 75: Beschleunigungseffekt Regular.easeIn

297

Abbildung 76: Beschleunigungseffekt Strong.easeIn

297

Abbildung 77: Sukzessives Ausführen mehrerer Tweens

301

Abbildung 78: Abprallen am rechten Rand

301

Abbildung 79: Fehlermeldung im Compiler-Fenster (1)

307

Abbildung 80: Fehlermeldung im Compiler-Fenster (2)

308

Abbildung 81: Fehlermeldung im Compiler-Fenster (3)

309

Abbildung 82: Fehlermeldung im Compiler-Fenster (4)

309

Abbildung 83: Fehlermeldung im Compiler-Fenster (5)

310

Abbildung 84: Auflistung aller Variablen zur Laufzeit

316

Abbildung 85: Abspeichern des Inhalts des Nachrichtenfenster

316

Abbildung 86: Debugger-Fenster

317

Abbildung 87: Animation durch permanente Änderung der Drehung

322

Abbildung 88: Horizontale und vertikale Bewegung

323

Abbildung 89: Bewegung und Vorzeichenumkehr

326

Abbildung 90: Positionsberechnung über wechselnde Entfernung (1)

335

Abbildung 91: Positionsberechnung über wechselnde Entfernung (2)

335

Abbildung 92: Berechnung der Schrittweite aus Schrittanzahl und Entfernung

337

Abbildung 93: Bewegung und Grenzbedingung

342

Abbildung 94: Überschreiten des Grenzwertes

342

Abbildung 95: Animationsobjekt innerhalb/außerhalb der Bühne

344

Abbildung 96: Abprallen am rechten Screenrand

346

Abbildung 97: Rechtwinkliges Dreieck

348

Abbildung 98: Abstandsmessung zwischen zwei beliebigen Punkten und der Satz des Pythagoras

349

Abbildung 99: Trigonometrische Funktionen und Kreisberechnung

349

Abbildung 100: Der Einheitskreis

350

Abbildung 101: Abstandsmessung zwischen MovieClips

350

Abbildung 102: Spirale mit linear anwachsendem Radius

355

Abbildung 103: Spirale mit exponentiell anwachsendem Radius

356

Abbildung 104: Spiralförmig zu animierende Rakete

358

Abbildung 105: Spiralförmig animierter Bleistift

359

Abbildung 106: Sinustäuschung

361

Abbildung 107: Ausrichtung des Fahrzeugs vor der Drehung zur Maus

362

Abbildung 108: Veränderung des Schlagschattens per Maus

362

Abbildung 109: Animierter Text (Änderung von Größe, Deckkraft, Position)

367

Abbildung 110: Einbetten eines Fonts in der Bibliothek

368

Abbildung 111: Animiertes Einfärben einzelner Buchstaben

375

Abbildung 112: Text mit statischem Farbverlauf

381

Abbildung 113: Farbverlauf Rot – Gelb – Grün

382

Abbildung 114: Verschiedene Ausrichtungen des Farbverlaufs

383

Abbildung 115: Aufbau der Animation mit Farbverläufen

384

Abbildung 116: Schreibmaschineneffekt

387

Abbildung 117: Text einblenden aus Zufallsbuchstaben

389

Abbildung 118: Färben über einzelne Farbkanäle

393

Abbildung 119: Einfärbung eines per Filter-Klasse erstellten Schattens

399

Abbildung 120: Organische Erscheinung per Ebeneneffekt

401

Abbildung 121: Simulation eines Spotlights

405

Abbildung 122: Überblendeffekt mit Hilfe einer Maske

408

Abbildung 123: Mosaik-Effekt (1)

412

Abbildung 124: Mosaik-Effekt (2)

412

Abbildung 125: Ermittlung eines Farbpixels

414

Abbildung 126: Text als Mausverfolger

418

Abbildung 127: Uhr in Ruhestellung

421

Abbildung 128: Uhrteile folgen der Maus

421

Abbildung 129: Aufbau der Uhr ohne Zeitanzeige

424

Abbildung 130: Blätteranimation nach Mausbewegung

430

Abbildung 131: Alternative Objektformen

435

Abbildung 132: Formänderung nach Mausbewegung

435

Abbildung 133: Check Boxes des Workshops

438

Abbildung 134: Aufbau von mcRecht

439

Abbildung 135: Radio Buttons

441

Abbildung 136: Aufbau von mcKreis

442

Abbildung 137: Combo-Box des Workshops

443

Abbildung 138: Bibliotheks-Elemente der Drag and Drop-Übung

450

Abbildung 139: Einzelelemente eines Fensters

456

Abbildung 140: Positionsbestimmung der Fensterteile

457

Abbildung 141: Kreisförmiges Menü

465

Abbildung 142: Aktiviertes Kreismenü

467

Abbildung 143: Aufbau des elliptischen Menüs

474

Abbildung 144: Anzeigen der Menüelemente

476

Abbildung 145: Scheitelpunkte der Animation

478

Abbildung 146: Akkordeon-Menü des Workshops

481

Abbildung 147: Aufbau des MovieClips mcFenster

482

Abbildung 148: Drop Down-Menü des Workshops

487

Abbildung 149: Originalgrafik (verkleinert)

494

Abbildung 150: Thumbnail-Typ 1

494

Abbildung 151: Thumbnail-Typ 2

494

Abbildung 152: Thumbnail-Typ 3

494

Abbildung 153: Infografik mit Bildergalerie

495

Abbildung 154: Aufbau des MovieClips mcBild

496

Abbildung 155: Aufbau des MovieClips mcSlider

496

Abbildung 156: Aufbau des MovieClips mcMaske

497

Abbildung 157: Variante der Bildergalerie

503

Abbildung 158: Aufbau des MovieClips mcMaske bei nicht aktivierter Maske

504

Abbildung 159: Aufbau der Galerie mit externen Assets

507

Abbildung 160: Ordnerstruktur der Galerie

507

Abbildung 161: Aufbau der Thumbnails

514

Abbildung 162: Aufbau Memory-Spiel

521

Abbildung 163: Karten und Bilderset

522

Abbildung 164: Zufallsverteilung der Karten in aKarten

523

Abbildung 165: Puzzlespiel

528

Abbildung 166: Umrisse der Puzzleteile

529

Abbildung 167: Registrierungspunkt und gedachtes Quadrat

529

Abbildung 168: Puzzleteile entsprechend der Array-Elemente

530

Abbildung 169: Begrenzungsrechteck und Registrierungspunkt von mcPuzzle6

533

Abbildung 170: Puzzleteile ohne Maske

535

Abbildung 171: Puzzleteile mit BevelFilter

536