![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Sep 2008
Сообщений: 17
|
Опять возникла проблемка. И чуствую что решение очень простое, но уже по форуму искал и на гугле но так и не пойму как при помощи startDrag передгивать клип.
На основном таймлайне розмещен ролик window (он експортнут для ActionSript и создан клас Window) внутри этого ролика само окно и еще 1 клип window_title, заголовок окна. Вот я хочу перетаскивать window когда мишка зажата над заголовком window_title. package main{
import flash.display.MovieClip;
import flash.events.*;
import flash.display.Sprite;
public class window extends Sprite {
public function window() {
window_title.addEventListener(MouseEvent.MOUSE_DOWN, handleMouseDown);
window_title.addEventListener(MouseEvent.MOUSE_UP, handleMouseUp);
window_title.addEventListener(Event.MOUSE_LEAVE, handleMouseLeave);
function handleMouseDown(evt:Event):void {
window.startDrag();
}
function handleMouseUp(evt:Event):void {
window.stopDrag();
}
function handleMouseLeave(event:Event=undefined):void {
handleMouseUp(event);
}
}
}
}
![]() |
|
|||||
package main{
import flash.display.MovieClip;
import flash.events.*;
import flash.display.Sprite;
public class window extends MovieClip {
public function window() {
window_title.addEventListener(MouseEvent.MOUSE_DOWN, handleMouseDown);
window_title.addEventListener(MouseEvent.MOUSE_UP, handleMouseUp);
window_title.buttonMode = true;
function handleMouseDown(evt:Event):void {
startDrag();
}
function handleMouseUp(evt:Event):void {
stopDrag();
}
}
}
}
|
|
|||||
|
Регистрация: Sep 2008
Сообщений: 17
|
Спасибо! |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Боже мой, кто же вас так классы научил называть? Ведь нигде ни в доках, ни в нормальных книгах такого формата именования классов нет! Откуда вы берете такие кривейшие и совершенно не соответствующие стандартам имена классов? Про методы я уж молчу.
|
|
|||||
|
Регистрация: Sep 2008
Сообщений: 17
|
Цитата:
Обещаю исправится. Класс должен быть Window ? а клип windowTitle ? ![]() |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Цитата:
А вложенные функции тоже из вашей собственной школы. |
|
|||||
|
Регистрация: Jun 2007
Сообщений: 374
|
А что плохого во вложенных функциях? о_О
разве сильно плохо? |
|
|||||
|
Цитата:
![]() |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Уже обсуждалось это. Вы потом не отпишетесь от таких функций, потому что у вас не будет ссылок на них, а значит ваши спрайты и объекты будут висеть в памяти, что плохо сказывается на общей производительности. Вложенные функции можно создавать лишь в том случае, если они только вычисляют некоторое значение на основе пришедших параметров и всё. Да и то, их лучше заменить статическими функциями. Я уже не говорю про возможные проблемы с областями видимости.
|
|
|||||
|
Регистрация: Sep 2008
Сообщений: 17
|
Цитата:
package main{
import flash.display.MovieClip;
import flash.events.*;
import flash.display.Sprite;
public class Window extends MovieClip {
public function window() {
wtitle.addEventListener(MouseEvent.MOUSE_DOWN, handleMouseDown);
wtitle.addEventListener(MouseEvent.MOUSE_UP, handleMouseUp);
wtitle.buttonMode = true;
function handleMouseDown(evt:Event):void {
startDrag();
}
function handleMouseUp(evt:Event):void {
stopDrag();
}
}
}
}
|
![]() |
![]() |
Часовой пояс GMT +4, время: 20:49. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|