Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var ROOM_LOWER_LIMIT:Number = -3646;
- var ROOM_UPPER_LIMIT:Number = 0;
- var SCROLLER_LOWER_LIMIT:Number = 100;
- var SCROLLER_UPPER_LIMIT:Number = 600;
- var ROOM_RANGE:Number = ROOM_UPPER_LIMIT- ROOM_LOWER_LIMIT;
- var SCROLLER_RANGE:Number = SCROLLER_UPPER_LIMIT- SCROLLER_LOWER_LIMIT;
- var SCROLLER_FENCE:Rectangle = new Rectangle(SCROLLER_LOWER_LIMIT, _scroll_box.y, SCROLLER_RANGE, 0);
- var _sound_player:Object = {
- current_channel: null,
- play_sound: function(str:String) {
- if (this.current_channel) {
- this.current_channel.stop();;
- }
- this.current_channel = this[str].play(0);
- },
- poster_sound: new PosterSound(),
- fan_sound: new FanSound()
- };
- setup();
- stop();
- function setup() {
- positionObjects();
- registerMouseListeners();
- registerSoundTriggers();
- }
- function positionObjects() {
- _scroll_box.x = (SCROLLER_UPPER_LIMIT + SCROLLER_LOWER_LIMIT) / 2;
- moveRoom(MouseEvent.MOUSE_DOWN);
- }
- function registerMouseListeners() {
- _scroll_box.addEventListener(MouseEvent.MOUSE_DOWN, startRoomMove);
- stage.addEventListener(MouseEvent.MOUSE_UP, stopRoomMove);
- }
- function registerSoundTriggers() {
- _room._poster.addEventListener(MouseEvent.CLICK, function(e) { triggerSound("poster_sound"); });
- _room._fan.addEventListener(MouseEvent.CLICK, function(e) { triggerSound("fan_sound"); });
- }
- function triggerSound(sound_label:String) {
- _sound_player.play_sound(sound_label);
- }
- function startRoomMove(e) {
- _scroll_box.startDrag(false, SCROLLER_FENCE);
- stage.addEventListener(MouseEvent.MOUSE_MOVE, moveRoom);
- }
- function stopRoomMove(e) {
- _scroll_box.stopDrag();
- stage.removeEventListener(MouseEvent.MOUSE_MOVE, moveRoom);
- }
- function moveRoom(e) {
- var scrollerRelative:Number = _scroll_box.x - SCROLLER_LOWER_LIMIT;
- var scroller_percent:Number = scrollerRelative / SCROLLER_RANGE;
- var roomRelative = (1.0 - scroller_percent) * ROOM_RANGE;
- _room.x = roomRelative + ROOM_LOWER_LIMIT;
- }
Add Comment
Please, Sign In to add comment