Вопросы по AS 3
|
|
musicfuns | Дата: Среда, 30 Января 2013, 04:32 | Сообщение # 1 |
Gorilla Develop Studio
Сейчас нет на сайте
| Ну у меня созрел практически пак вопросов по AS 3 . Проверьте для начала мою правильность пожалуйста : Код Package card { class Card { Publick var CardName ;
Publick function Card (Name) { this.CardName = Name ; } } }
Package card { class AttackCard { Publick Function AttackCard () { var card = New Card( "Attack Card" ) ; } } }
Все ли здесь правильно ?
Для начала вопрос простейший по основам . Как я понял класс - это объект . То есть я смогу какой-либо класс пристроить к тому же movie clip ? Как лучше делать ? Собрать где-нибудь Package Card во едино в одном скрипте , или в скрипте к каждому клипу приписывать класс , просто включая его в пакет?
Как клипу присвоить класс?
Куда лучше забить эту самую "библиотеку" ? В код основной сцены?
Это все с учетом того , что я работаю в Adobe Flash Cs 4 .
Рационально ли я здесь поступил ? То есть можно было бы просто составить класс карточки скажем : Name = "Attack Card" ; Speed = -2 ; Power = +3 ;
Или лучше все же с передачей через функцию и с помощью New Card ?Добавлено (30.01.2013, 04:32) --------------------------------------------- Какие-то проблемы на GCUP c переносом строки начались . Надеюсь понятно будет .
|
|
| |
coder | Дата: Среда, 30 Января 2013, 15:51 | Сообщение # 2 |
частый гость
Сейчас нет на сайте
| Столько вопросов и все сразу:) Попробую ответить на парочку с начала. По цитате из кода: AS3 чувствителен к регистру символов; package и Package разные вещи - первое зарезервированное слово, второе может быть чем угодно без указания его типа. public пишется с маленькой буквы и без "к" в конце, function тоже с маленькой. В классе Сard неплохо бы указать тип переменной СardName: public var CardName:String. То же с конструктором класса: public function Card(Name:String){..........} . А вообще, странный какой-то код, было бы проще, если бы ты объяснил, что ты хочешь сделать. Класс - не объект. Объект - это экземпляр класса. Класс описывает, как этот объект должен быть "построен". К MovieClip можно "пристроить" класс, расширяющий MovieClip: public class myMovieClip extends MovieClip(){.........}
|
|
| |
shubniggurath | Дата: Среда, 30 Января 2013, 16:21 | Сообщение # 3 |
www.playnoread.com
Сейчас нет на сайте
| Для начало хорошо прочесть КОлина Мука про АС3 и не парить своим гвнокодом форум.
Учу 3д!
|
|
| |
TreinDSM | Дата: Среда, 30 Января 2013, 20:06 | Сообщение # 4 |
почетный гость
Сейчас нет на сайте
| Поддержу shubniggurath для начала хорошо было бы прочесть хоть что-нибудь по языку.
|
|
| |
musicfuns | Дата: Четверг, 31 Января 2013, 08:18 | Сообщение # 5 |
Gorilla Develop Studio
Сейчас нет на сайте
| shubniggurath, Ну начем с того что этот Говнокод я и написал по книге Мука .
coder, ну код по мне и в правду странный . Это классы карточек для ККИ , вот пытаюсь состряпать общую систему для них . Собственно про регистр знаю , просто хотелось бы узнать вообще правильный ли код . Про тип переменной . Её конечно указывать нужно , но Мук почему тто этого не делает , вроде как внутри классов они не нужны , да их значения выглядят по разному .
Если стринг то "значение" Если Int то = 5
|
|
| |
coder | Дата: Четверг, 31 Января 2013, 10:22 | Сообщение # 6 |
частый гость
Сейчас нет на сайте
| Если указать тип переменной, то компилятор будет указывать на ее неправильное применение. И вообще, это называется "хороший стиль программирования". Зачем делать два почти одинаковых класса, не рациональнее ли сделать один базовый класс Card, а от него наследовать другие классы карт?
|
|
| |
musicfuns | Дата: Четверг, 31 Января 2013, 10:57 | Сообщение # 7 |
Gorilla Develop Studio
Сейчас нет на сайте
| coder, ну я для этого взял и объединил все классы в package
|
|
| |
TreinDSM | Дата: Четверг, 31 Января 2013, 21:19 | Сообщение # 8 |
почетный гость
Сейчас нет на сайте
| musicfuns, А какую именно книгу Мука Вы читаете? Цитата ну я для этого взял и объединил все классы в package Причем здесь наследование и объединение классов в package?
|
|
| |
musicfuns | Дата: Пятница, 01 Февраля 2013, 09:05 | Сообщение # 9 |
Gorilla Develop Studio
Сейчас нет на сайте
| TreinDSM, ActionScript 3.0 для Flash. Подробное руководство. Колин Мук.
Да вот у меня возникла схема как все бы сделать проще .
Я просто создаю скажем 10 мувиков-карт и к ним приписываю маленький код : var speed:int +=2 ; var power:int -=2 ; var magic:int +=2 ;
Так хоть и легче , но правильней?
|
|
| |
coder | Дата: Пятница, 01 Февраля 2013, 11:22 | Сообщение # 10 |
частый гость
Сейчас нет на сайте
| Попробуй хоть один из своих классов скомпилировать, сразу увидишь ошибки.
|
|
| |
musicfuns | Дата: Пятница, 01 Февраля 2013, 15:43 | Сообщение # 11 |
Gorilla Develop Studio
Сейчас нет на сайте
| coder, знаю , знаю .
Там задавать надо не var speed:int +=2 , а var speed:int = 2 и так же с остальными .
Это я уж перепутал .Добавлено (01.02.2013, 15:43) --------------------------------------------- Эмм у меня тут ещё проблема нарисовалась .
Вроде все правильно , но не работает .
Создал кнопку , добавил на сцену и назвал buttn .
При клике на нее должен идти переход на следующий кадр , но вот у адоба возникают проблемы с именем buttn .
Вот код :
Код
buttn.addEventListener (MouseEvent.click , goto) ;
function goto(Event:MouseEvent):void {
gotoAndStop( nextframe ) ; }
Надеюсь это не из-за того что кнопка называется butn001 , а на сцене она buttn .
Но вроде переименованием ничего не изменишь .
|
|
| |
Ghost_in_the_shell | Дата: Пятница, 01 Февраля 2013, 16:15 | Сообщение # 12 |
участник
Сейчас нет на сайте
| Можно текст ошибки?
|
|
| |
musicfuns | Дата: Пятница, 01 Февраля 2013, 16:29 | Сообщение # 13 |
Gorilla Develop Studio
Сейчас нет на сайте
| Ghost_in_the_shell, В общем кнопка неиствово моргает , вот и текст .
1119:Access of possibly underfinder property click throurht a refence with static type class и указывает в исходниках ссылку на первую строку .
|
|
| |
Ghost_in_the_shell | Дата: Пятница, 01 Февраля 2013, 16:33 | Сообщение # 14 |
участник
Сейчас нет на сайте
| buttn.addEventListener ( MouseEvent.CLICK, goto) ; function goto(event:MouseEvent):void {
gotoAndStop( nextframe ) ; //nextframe - номер или имя кадра }
Сообщение отредактировал Ghost_in_the_shell - Пятница, 01 Февраля 2013, 16:37 |
|
| |
musicfuns | Дата: Пятница, 01 Февраля 2013, 17:05 | Сообщение # 15 |
Gorilla Develop Studio
Сейчас нет на сайте
| Не работает . Говорю кнопка просто моргает и все . Сейчас постараюсь кинуть пример . Добавлено (01.02.2013, 17:05) --------------------------------------------- http://rghost.ru/43465871
|
|
| |
Ghost_in_the_shell | Дата: Пятница, 01 Февраля 2013, 17:09 | Сообщение # 16 |
участник
Сейчас нет на сайте
| нужно остановить проигрывание анимации функцией stop()
|
|
| |
musicfuns | Дата: Пятница, 01 Февраля 2013, 17:16 | Сообщение # 17 |
Gorilla Develop Studio
Сейчас нет на сайте
| Ghost_in_the_shell, да точно . Спасибо ну и плюс пришлось все таки заменить nextframe на 2 , ибо выдавалось неверное значение аргумента .
|
|
| |
Кластер | Дата: Пятница, 01 Февраля 2013, 17:23 | Сообщение # 18 |
постоянный участник
Сейчас нет на сайте
| Publick не может быть с буквой k , просто нужно Public
|
|
| |
musicfuns | Дата: Пятница, 01 Февраля 2013, 17:27 | Сообщение # 19 |
Gorilla Develop Studio
Сейчас нет на сайте
| Кластер, знаю . Просто в шапке не исправил . Но сейчас уже по другой схеме работаю .
Использую так сказать сриптовую часть ас , а не ООП-ешную .
|
|
| |
TreinDSM | Дата: Пятница, 01 Февраля 2013, 20:42 | Сообщение # 20 |
почетный гость
Сейчас нет на сайте
| musicfuns, Может стоит хотя бы справочник открыть? Неверное значение аргумента выдавалось потому, что nextFrame - это метод, а не свойство. Данный метод ничего не возвращает, а переводит MovieClip в следующий кадр.
|
|
| |