Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.08.2009, 14:56
Staneslas вне форума Посмотреть профиль Отправить личное сообщение для Staneslas Найти все сообщения от Staneslas
  № 1  
Ответить с цитированием
Staneslas

Регистрация: Aug 2009
Сообщений: 3
Cool Помогите понять функции localToGlobal(globalToLocal)

Код AS1/AS2:
function addArtwork():Void {
  this.createEmptyMovieClip("mcMan", this.getNextHighestDepth());
  this.mcMan.attachMovie("ManSymbol", "mcClothedMan", this.mcMan.getNextHighestDepth());
  this.mcMan.attachMovie("BeardSymbol", "mcBeard", this.mcMan.getNextHighestDepth());
  this.mcMan.attachMovie("CaneSymbol", "mcCane", this.mcMan.getNextHighestDepth());
  this.mcMan.attachMovie("CoatSymbol", "mcCoat", this.mcMan.getNextHighestDepth());
  this.mcMan.attachMovie("GlassesSymbol", "mcGlasses", this.mcMan.getNextHighestDepth());
  this.mcMan.attachMovie("HatSymbol", "mcHat", this.mcMan.getNextHighestDepth());
  this.mcMan.attachMovie("ShoesSymbol", "mcShoes", this.mcMan.getNextHighestDepth());
}
 
function makeHidden():Void {
  for(var sMcName:String in mcMan.mcClothedMan) {
    if(sMcName == "mcBody") {
     continue;
    }
    mcMan.mcClothedMan[sMcName]._visible = false;
  }
}
 
function setHandlers():Void {
  for(var sMcName:String in mcMan) {
    if(sMcName == "mcClothedMan") {
      continue;
    }
    mcMan[sMcName].onPress = function():Void {
      this.startDrag();
      this._parent.selected = this;
    };
    mcMan[sMcName].onRelease = function():Void {
      this.stopDrag();
      this._parent.selected = null;
      this._alpha = 100;
      if(this.snapTo) {
        var oPoints = new Object();
        oPoints.x = this._parent.mcClothedMan[this._name]._x;
        oPoints.y = this._parent.mcClothedMan[this._name]._y;
        this._parent.mcClothedMan.localToGlobal(oPoints);
        this._parent.globalToLocal(oPoints);
        this._x = oPoints.x;
        this._y = oPoints.y;
      }
    };
    mcMan[sMcName]._x = 450;
    mcMan[sMcName]._y = 200;
  }
}
 
function setOverlapChecker():Void {
  mcMan.check = function():Void {
    if (this.selected.hitTest(this.mcClothedMan[this.selected._name])) {
      this.selected.snapTo = true;
      this.selected._alpha = 50;
    }
    else {
      this.selected.snapTo = false;
      this.selected._alpha = 100;
    }
    for(var sMcName:String in this) {
      if(sMcName == this.selected._name || sMcName == "mcClothedMan") {
        continue;
      }  
      if(this.selected.hitTest(this[sMcName]) && this.selected.getDepth() < this[sMcName].getDepth()) {      
        this.selected.swapDepths(this[sMcName]);
      }
    }
  };
  setInterval(mcMan, "check", 100);
}
 
function loadBackground():Void {
  this.createEmptyMovieClip("mcBackground", this.getNextHighestDepth());
  this.mcBackground.createEmptyMovieClip("mcJPEG", this.mcBackground.getNextHighestDepth());
  var oListener:Object = new Object();
  oListener.onLoadComplete = function(mcRef:MovieClip):Void {
    var mcBG:MovieClip = mcRef._parent;
    mcBG.swapDepths(0);
  };
  var mclLoader:MovieClipLoader = new MovieClipLoader();
  mclLoader.addListener(oListener);
  mclLoader.loadClip("http://www.person13.com/asb/image1.jpg", mcBackground.mcJPEG);
}
 
addArtwork();
makeHidden();
setHandlers();
setOverlapChecker();
loadBackground();
Что делает функция lokalToGlobal и globalToLocal в этом коде(если удалить элементы lokalToGlobal и globalToLocal из кода ничего не изменяеться), и обьясните общее значение этих функций и что они делают вместе, только пожалуйсто, обьясните своими словами, я уже читал в двух источьниках. Большое спасибо если ответите

Старый 17.08.2009, 15:31
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 2  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Ничего не меняется до тех пор пока mcMan или mcClothedMan имееют координаты (0, 0).

Создать новую тему Ответ Часовой пояс GMT +4, время: 16:50.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 16:50.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.