Четверг, 28 Марта 2024, 13:55

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Adobe Flash и Создание флэш-игр » Вопросы по AS 3
Вопросы по 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 в следующий кадр.
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Adobe Flash и Создание флэш-игр » Вопросы по AS 3
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг