Skip to content

indivision/indivision-codebase-as1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

indivision-codebase-as1

Joe Miller's ActionScript 1.0 framework for Adobe Flash — predecessor to indivision-codebase-as2, used as the foundation for Flash-era projects (mid-2000s). A collection of light-weight UI, layout, media, event, and utility classes targeting Flash Player 6/7-era AS1.

Status

  • Era: mid-2000s.
  • Stack: ActionScript 1.0 (class-style declarations introduced in Flash MX 2004 / Flash Player 7).
  • State: archived; Flash itself reached end-of-life on December 31, 2020. Preserved for historical/educational interest and for restoring legacy Flash-era projects.
  • Successor: indivision-codebase-as2 — strict superset, 80 classes vs AS1's 28 (see AS1 vs AS2).

Layout

indivision-codebase-as1/
├── README.md
├── codebase/             ← Indivision framework code (the main library)
│   ├── classes/
│   │   ├── com/          ← bundled third-party AS classes
│   │   └── net/indivision/   ← Indivision's own framework
│   └── fla_examples/     ← runnable .fla demos + compiled .swf output per package
├── dev/                  ← scratch / one-off (speedtest)
├── global/               ← shared third-party AS libraries
│   ├── com/
│   │   ├── informatikanova/   ← datacube + engine
│   │   ├── robertpenner/      ← easing + bezier
│   │   ├── schematic/         ← site / module / page / grid adapters
│   │   └── senocular/         ← Path
│   └── org/
│       └── as2lib/            ← as2lib environment
├── layout/standard/      ← standard layout package
└── test/picture_viewer/  ← test harness for the picture viewer

Indivision's framework (codebase/classes/net/indivision/)

28 classes across 8 packages.

net.indivision.arrange

Position and arrangement utilities (expanded substantially in AS2).

  • Position — positioning utility for movieclip placement.

net.indivision.control

User-interaction controls. The largest package; the polished UI layer.

  • AbstractButton — base class for all button variants.
  • AnimatedButton — button with frame-based animations.
  • CustomButton, CustomButtonStyle — fully customizable button + its style descriptor.
  • LabelButton, LabelButtonStyle — button with a text label + its style descriptor.
  • LinearButton — button with linear arrangement (toolbar-style).
  • MenuBase — generic menu component, extends MovieClipDispatcher.
  • ScrollBar — scrollbar component, extends MovieClipDispatcher.
  • Scrub, IScrubbable — scrubber control (media seekbar-style) + interface for scrubbable targets.

net.indivision.debug

Debug helpers.

  • Trace — wrapper around trace() adding optional formatting.
  • JavaAlert — fires getURL("javascript:alert(...)") from within Flash for browser-side debug alerts.

net.indivision.element

Non-interactive visual elements.

  • Bullet — visual bullet point graphic.
  • LabelBase — text-label base class.

net.indivision.event

Event dispatching tools.

  • FrameEventBeacon — dispatches per-frame onEnterFrame events to subscribers.
  • KeyBeacon — dispatches key-press events.
  • StageBeacon — dispatches stage-resize events.

net.indivision.media

Media wrappers.

  • SoundClip — simple wrapper around flash.media.Sound for triggered SFX.

net.indivision.shape

Shape primitives + style descriptors.

  • AbstractShape — base class for procedural shapes.
  • Backdrop — fullscreen background fill shape.
  • FillStyle — fill style descriptor (color + alpha).
  • RectangleShape — procedurally-drawn rectangle.

net.indivision.util

Generic utilities.

  • Group — manages a logical group of movieclips.
  • MovieClipStack — stack-based movieclip allocation/recycling.
  • Timer — simple setInterval-based timer wrapper.

FLA examples (codebase/fla_examples/)

Runnable demos for ~25 classes/concepts. Each in fla_examples/source/<package>/<demo-name>/<DemoName>.fla with compiled .swf output in fla_examples/deploy/:

  • arrange: arrange, Axis, StageManager
  • control: AnimatedButton, CustomButton, LabelButton, LinearButton, MenuBase, ScrollBar
  • data: XMLConstruct (an XML-to-Object parser)
  • effect: MaskWipe
  • element: Animation, ExpandingFrame, LabelBase
  • event: KeyBeacon, StageBeacon
  • layout: Grid
  • load: LoadQueue, PerformanceLoader
  • media: AudioManager, FLVMedia, MediaPlayer, MP3, SoundClip
  • operation: operation
  • shape: RectangleShape
  • tween: FrameMotion, FrameTween, tween
  • util: Group, Timer

Dependencies

Bundled (in global/)

Library Path Purpose
Robert Penner Easing global/com/robertpenner/easing/ Easing functions (Back, Bounce, Circ, Cubic, Elastic, Expo, Linear, Quad, Quart, Quint, Sine)
Robert Penner Bezier global/com/robertpenner/bezier/ CubicCurve bezier math
Senocular Path global/com/senocular/Path.as Path-following math utility (Trevor McCauley / senocular.com)
as2lib global/org/as2lib/ OO framework: events, exceptions, output handling (Mozilla Public License 1.1)
Informatika Nova global/com/informatikanova/ datacube (3D coord system) + engine (Bernd Will, informatika-nova.com)
Schematic Site global/com/schematic/site/ Site/Module/Page/Grid scaffold classes

Imported but not bundled (Flash standard libraries)

Indivision code imports these from Macromedia's Flash MX 2004 runtime — ship with the Flash IDE / Flash Player runtime; no additional install needed:

  • mx.events.EventDispatcher — Flash's standard event dispatcher.
  • mx.utils.Delegate — function-binding helper.

Indivision code's actual third-party imports

A scan of import statements in codebase/classes/net/indivision/, component/, and layout/ shows Indivision code only imports:

  • Other net.indivision.* modules
  • mx.events.EventDispatcher, mx.utils.Delegate

The global/ libraries are bundled for availability — Indivision developers could use them in projects atop this codebase — but the framework itself doesn't require them.

AS1 vs AS2

indivision-codebase-as2 is the AS2 successor — strict superset, 80 indivision classes vs AS1's 28. AS2 adds entirely new packages:

Package AS1 AS2
core AbstractDispatcher, AbstractMovieClip, MovieClipDispatcher
data DataProviderProxy, XMLConstruct, XMLConstructNode
effect AbstractEffect, Fade, MaskWipe, Reveal, TweenEffect
layout AbstractLayout, Column, Grid, IArrangeable, Row
load LoadQueue, PerformanceLoader
media (extras) SoundClip + AbstractMedia, AudioManager, FLVMedia, Image, LinearMedia, MP3, StaticMedia, VideoClip
operation AbstractAnalysis, Extract, Find, Iteration, Quantity, Run, Set
project AbstractXMLProject
text HidingDefaultText
tween FrameMotion, FrameTween, Motion, MotionPath, Move, PropertyTween, TweenBase

AS2 also expanded existing AS1 packages: arrange (1 → 7 classes), control (11 → 11, refined), element (2 → 4), shape (4 → 6), util (3 → 4).

If you're starting new Flash-era work, use AS2 — AS1 is preserved here for historical interest.

Restoration / compile

To compile, you need Flash MX 2004 or later (Flash CS3-era recommended for the most-tested setup). Open any .fla from codebase/fla_examples/source/<package>/<DemoName>/. Classpath should include:

codebase/classes/
global/com/
global/org/

Publish Settings > Flash > ActionScript Version should be ActionScript 2.0 (the class keyword is AS2 syntax, but the AS1 era allowed class-declared code that targeted older players via --language AS1 compile flag).

Related repos

About

Joe Miller's ActionScript 1.0 framework for Adobe Flash. Predecessor to indivision-codebase-as2 (mid-2000s era).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors