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

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0 > Статьи

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 05.10.2006, 15:29
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 21  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
MerlinTwi, статья замечательная, но есть одно но — почему классы имеют имена в нижнем регистре, да ещё с подчёркиванием?

Старый 05.10.2006, 15:45
miramax вне форума Посмотреть профиль Отправить личное сообщение для miramax Посетить домашнюю страницу miramax Найти все сообщения от miramax
  № 22  
Ответить с цитированием
miramax
 
Аватар для miramax

Регистрация: Oct 2005
Адрес: Борисоглебск
Сообщений: 1,702
Отправить сообщение для miramax с помощью ICQ Отправить сообщение для miramax с помощью AIM Отправить сообщение для miramax с помощью MSN Отправить сообщение для miramax с помощью Yahoo Отправить сообщение для miramax с помощью Skype™
Пошли придирки не по существу...
Прям всё, если класс в нижнем регистре, то ты полный ламер, и т.п.
__________________
AS3 | www.FLAPS.ru | Русские флэшеры самые умные флэшеры в мире. ©

Старый 05.10.2006, 16:03
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 23  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Цитата:
Сообщение от miramax
Пошли придирки не по существу...
Прям всё, если класс в нижнем регистре, то ты полный ламер, и т.п.
Нет, я нисколько не придираюсь, но раз уж мы пишем на AS3, то давайте писать правильно. Ведь ещё в AS2 необходимо писать имена с прописной буквы, а тут…

Старый 05.10.2006, 16:04
MerlinTwi вне форума Посмотреть профиль Отправить личное сообщение для MerlinTwi Посетить домашнюю страницу MerlinTwi Найти все сообщения от MerlinTwi
  № 24  
Ответить с цитированием
MerlinTwi
 
Аватар для MerlinTwi

Регистрация: Oct 2003
Адрес: Москва
Сообщений: 328
Цитата:
Сообщение от __etc
MerlinTwi, статья замечательная, но есть одно но — почему классы имеют имена в нижнем регистре, да ещё с подчёркиванием?
Виноват. На момент написания я еще не знал о стандартах написания классов, функций и переменных... ознакомился только после строгого предупреждения от Nirth
А вообще там много ляпов, т.к. это первая работа на AS3, например, постоянная привязка к root и хранение ссылок на другие классы, вместо нормальной реализации своих событий и т.п., чувствуется наследие AS2. Будет посвободней время надо переписать красиво.
Хотя с другой стороны, она тем и хороша, что понятна логика для человека, который постоянно работал с AS2 и решил попробовать AS3. Я сейчас, чуть ли не каждый день корректирую базовые классы, происходит постепенная перестройка логики программирования под нормальный ООП, после его извращенной реализации в AS2.
__________________
Создатель: Бойцовский клуб | TimeZero | Sky2Fly
Я возьму сам.

Старый 05.10.2006, 16:10
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 25  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Цитата:
Сообщение от MerlinTwi
чувствуется наследие AS2.
Скорее AS1 =)
В AS2 можно писать вполне нормально, событийная модель (EventDispatcher) без привязок и прочая… Просто нужно захотеть.
Я легко могу все свои (ну практически все) AS2 классы переписать (скорее просто удалить реализации того, что есть в AS3) на AS3 без серьёзных переделок.

Впрочем, это нисколько не снижает полезность статьи. Ещё раз спасибо.

Старый 05.10.2006, 22:11
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 26  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
Надеюсь автор не против критики =)


Замечания

Цитата:
(почему бы ему самому не искать в дефолтных imports?).
При написании скрипта в кадрах, прямо в Flash 9, классы из пакетов flash.* импортированны по умолчанию, НО когда ты кодишь свой класс, не о каком дефолте и речи быть не может, потому что ты можешь иметь свой собственный класс - Sprite, EventDispatcher, Loader.

Цитата:
Если необходимо внутри мувика что-то нарисовать (прямоугольник и т.п.) необходимо подключить класс
Код:
import flash.display.Graphics;
Не слышал о таком, в флексе класс

Код:
package
{
import flash.display.Shape
public class Circle extends Shape
{

public function Circle()
{
super();

graphics.beginFill(0xff6600);
graphics.drawCircle(50,50,50);
graphics.endFill();
}

}

}
Отлично компилируется.

Цитата:
Забываем про
Код:
mc.onPress=function() { 
     бла-бла-бла 
}
Теперь все построено на событиях. Для того чтобы отловить клик мышки по объекту необходимо добавить свою функцию, как реагирующую на событие "click":
Код:
addEventListener("click", mouseDownHandler);
...
function mouseDownHandler(){
}
Ну раньше вообщето все тоже было построенно на событиях =) просто в данной системе используется более близкая реализация Delegating Event Model.

Цитата:
package main {
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;

public class myButton extends MovieClip {
public function myButton() {
doubleClickEnabled=true;
addEventListener(MouseEvent.DOUBLE_CLICK, onDblClick);
}
private function onDblClick(evt:MouseEvent):void {
trace("onDblClick");
visible=false;
}
}
} Во-первых, надо подключить классы Event и MouseEvent.
Подключение класса Event в данном случае совершенно не нужно.

Так же насчет констант, в первом примере вы использовали значение "click", во втором константу MouseEvent.DOUBLE_CLICK, в флэше я бы использовал значения, потому что их быстрее набить, в флексе я бы использовал константы, так как из за автокомплита, набить там легче.

Мне кажется вам стоило пояснить, что в первом примере можно было использовать константу, а во втором значение, а то могут возникнуть конфузы у новичков.

Цитата:
С проверкой bytesTotal на ноль функция Update принимает следующий вид:
У классов не бывает функций и переменных, у них есть методы и свойства.
функции могут быть в пакетах, переменные могут быть в методах и функциях (локальные).

Это не просто название, переменная и функция ни к чему не привязанны, в то время как методы и переменные зависят так или иначе от своего класса.

Цитата:
Код:
// Нажатие кнопки мыши по нашему мувику 
function handleMouseDown(event:Event):void { 
     startDrag(); 
} 
// Отпустили кнопку мыши 
function handleMouseUp(event:Event):void { 
     stopDrag(); 
}
Стоит использовать private или protected, они работают быстрее чем internal (который поставится по умолчанию)

Цитата:
Код:
public function ShowInfo(e:Event=undefined) :void {
Не знаю почему компилятор не выдал ошибки, но в флексе за такое компилятор по рукам бъет, Event не может быть undefined он может быть null, скорее всего компилятор Flash 9 автоматически перегоняет undefined в null.

Цитата:
Код:
// Генерит событие "нужно обновить статистику" 
public function doUpdateStatistic() { 
     dispatchEvent(new Event("UPDATE_STATISTIC")); 
}
Насчет создания событий, имена событий пишутся по стандартам переменных, тоесть имя называлось бы updateStatistics, а уже в классе события(я бы расширил Event по такому случаю) пишут
Код:
public static const UPDATE_STATISTICS:String = "updateStatistics";

Теперь о хорошем

Статья сильно понравилась, идет дотошное объяснение что где и когда, я как человек никогда в жизни не делавший подобын игр (делал логические), узнал много нового. Правда есть опасение, что после выхода Flash 9 статью придется переделывать, насколько я понимаю его перепаивают по полной программе.

Но всеже мне кажется что новенькому читать эту статью опасно, из-за некоторых замечаний которые я указал выше.

Насчет стилизации кода, она нифига не соответствует конвенциям АС, но при этом у нее есть своя, правда я не понял какая

Вобщем гратс!
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 06.10.2006, 12:35
MerlinTwi вне форума Посмотреть профиль Отправить личное сообщение для MerlinTwi Посетить домашнюю страницу MerlinTwi Найти все сообщения от MerlinTwi
  № 27  
Ответить с цитированием
MerlinTwi
 
Аватар для MerlinTwi

Регистрация: Oct 2003
Адрес: Москва
Сообщений: 328
Nirth, спасибо за столь подробный разбор статьи. Все замечания учту в версии 2.0
__________________
Создатель: Бойцовский клуб | TimeZero | Sky2Fly
Я возьму сам.

Старый 06.10.2006, 14:28
motor4ik вне форума Посмотреть профиль Отправить личное сообщение для motor4ik Посетить домашнюю страницу motor4ik Найти все сообщения от motor4ik
  № 28  
Ответить с цитированием
motor4ik
 
Аватар для motor4ik

Регистрация: Jun 2005
Адрес: Moscow - immigrate from Volgodonsk
Сообщений: 2,534
ждем с нетерпением...

Merlin а Вы Мука вторую книгу читали? просто по поводу имен классов итд...ООП в AS 2.0 у него очень хоРошо изложено

Старый 07.10.2006, 14:49
MerlinTwi вне форума Посмотреть профиль Отправить личное сообщение для MerlinTwi Посетить домашнюю страницу MerlinTwi Найти все сообщения от MerlinTwi
  № 29  
Ответить с цитированием
MerlinTwi
 
Аватар для MerlinTwi

Регистрация: Oct 2003
Адрес: Москва
Сообщений: 328
Нет, не читал.
__________________
Создатель: Бойцовский клуб | TimeZero | Sky2Fly
Я возьму сам.

Старый 07.10.2006, 21:10
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 30  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
Цитата:
Вы Мука вторую книгу
по твоему моторчик до EAS2.0 у мука была только одна книга=)?
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

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

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

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


 


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


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