Просмотр полной версии : Алгоритмы Как решить проблему с мееню игри?
ABEnergy
04.03.2017, 22:23
Решил сделать меню и следующий код должен при нажатии на кнопку проигривать дальше,
но вискакивает ошибка
typeError: Error #1010: A term is undefined and has no properties.
at FlappyBirdColumn_fla::MainTimeline/frame1()
stop();
menu_box.btn_play.onPress = function()
{
play();
};
ZackMercury
04.03.2017, 23:10
Не пишите в кадрах.
ABEnergy
05.03.2017, 13:39
я не понял
Добавлено через 35 секунд
как тогда написать?
undefined
05.03.2017, 13:46
в классах
ZackMercury
05.03.2017, 14:24
https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BD%D0%BE-%D0%BE%D1%80%D0%B8%D0%B5%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%8 0%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5
Даже самые простые игры удобней писать оперируя концепцией ООП, не говоря о более сложных.
Ищите книгу Колин Мук "ActionScript 3.0 для Flash. Подробное руководство"
Почему в ответ на эту тему? Тут практически нет людей, которые пишут в кадрах, а ошибка связана с логикой кадров.
Код в кадрах был придуман и воплощён для расширения возможностей аниматоров, а не для работы в них программистов.
caseyryan
05.03.2017, 16:34
А ни кого не насторожило, что он запостил вопрос по коду as2, хоть ветка и as3?)
ABEnergy
05.03.2017, 17:19
в етом и вся фишка что спрашиваю как сделать чтоби на AS3 заработало
ZackMercury
05.03.2017, 17:26
http://www.flasher.ru/forum/forumdisplay.php?f=75
как сделать чтоби на AS3 заработало
Написать код на AS3, может быть?
undefined
05.03.2017, 17:33
ABEnergy,перечитай свой первый пост и подумай над таким вопросом: можно ли по нему(посту), не прибегая к телепатии,понять о чем ты просишь?По мне, так единственное что из него ясно,что ты ошибся разделом.
ABEnergy
05.03.2017, 19:42
Нет разделом не ошибся, програмирую на AS3, да, суть неправильно изложил, но все-таки ето можно как-то сделать, тоесть запрограмировать на AS3?
ZackMercury
06.03.2017, 00:25
Можно как-то.
ABEnergy
06.03.2017, 21:28
да я тут кое-что надумал, но не понимаю логики системи...
написал тестовий код для кнопки, вот он:
import flash.events.MouseEvent;
stop();
var score:int = 0;
var TextScore:TextField = new TextField();
var format:TextFormat = new TextFormat();
format.bold = true;
format.size = 100;
format.font = "Adventure";
format.color = 0xff0000;
TextScore.defaultTextFormat = format;
addChild(TextScore);
TextScore.x = 250;
TextScore.y =250;
TextScore.selectable = false;
var eBTN:Button = new Button();
addChild(eBTN);
eBTN.x = 200;eBTN.y = 200;
eBTN.addEventListener(MouseEvent.MOUSE_DOWN, btnDown);
function btnDown(e:MouseEvent){
eBTN.height += 10;
eBTN.weight += 10;
}
eBTN.addEventListener(MouseEvent.MOUSE_UP, btnUp);
function btnUp(e:MouseEvent){
eBTN.height -= 10;
eBTN.weight -= 10;
score ++;
TextScore.text = "" + score;
}
Все работало на ура и я решил сделать таким же способом и в своей игрухе,
но тут после обявления:
var Bmenu:Button = new Bmenu();
Оно кидает ошибку, мол: "Тип не найден, бла бла бла:Button";
Не пойму в чем тут причуд...
var Bmenu:Button = new Bmenu();
Жесть какая. Вам бы для начала элементарные основы изучить.
Товарищ таким образом и изучает :) Товарищ не читатель, он писатель.
Просто повнимательней. Явно же не "= new Bmenu();" а "= new Button();".
Ну и заодно eBTN.weight += 10; — видимо, всё же width?
Добавлено через 8 минут
И еще раз напомню — с заглавной буквы именуются только Классы (Button).
Переменные — с маленькой (bMenu, textScore). // вообще конечно лучше menuButton, scoreTXT.
Обработчики событий — либо с префиксом on (onMenuButtonUp),
либо со словом handler (buttonUpHandler, handlerButtonUp).
ZackMercury
06.03.2017, 23:28
Wolsh, а может и не Button вовсе :)
ABEnergy
07.03.2017, 01:21
Ничего не явно, так как клас Bmenu.Во вторих с weight прекрасно меняет ширину.....
Добавлено через 56 секунд
Ви о чем именно?
undefined
07.03.2017, 01:51
Ничего не явно, так как клас Bmenu
А ничего что у тебя имя переменной с именем класса совпадает?
Почитай уже конвенции по именованию классов/переменных
естественно, если просто копировать код, не имея никакого понятия о том что он делает, можно создавать по 3 темы в день, но понимания так и не прибавится. начинет с азов, смортите не готовые куски кода, а уроки где объясняется почему сделано именно так.
caseyryan
07.03.2017, 10:18
Во вторих с weight прекрасно меняет ширину.....
Серьезно что ли? :D
weight - вес
width - ширина
впервые слышу, чтобы у Button было свойство weight, да еще и ширину меняло
Этот код даже не скомпилируется, не говоря уже о смене ширины кнопки
ABEnergy
07.03.2017, 15:33
Ну я и лох, ошибочка вишла, извините(
Добавлено через 43 секунды
faraday, откуда я могу код копировать то?У вас есть доказательства етой деятельности??
ZackMercury
07.03.2017, 18:37
написал тестовий код для кнопки, вот он:
Вместо тестового кода кнопки и переписи везде и всюду, лучше бы написали класс кнопки...
Да и код ваш, вежливо говоря, - кривой, и дело не только в форматировании и названиях переменных.
Попробуйте нажать левую кнопку мыши над кнопкой, перетащить на пространство вне кнопки и отпустить, и повторить так пару раз.
Aziz Zaynutdinoff
07.03.2017, 18:43
Как вы вообще понимаете ТС'а? Мало того, что с ошибками, так еще и без элементарных понятий предмета.
ABEnergy
07.03.2017, 21:22
Спасибо всем, ви заставили меня взяться за ум и начать читать книгу, благодаря ней я написал и все работает, спасибо!
ZackMercury
07.03.2017, 22:57
Этот код даже не скомпилируется, не говоря уже о смене ширины кнопки
Этот код скомпилируется, за условием, что Button - это кастомный динамический класс или мувиклип из библиотеки.
caseyryan
08.03.2017, 06:03
Этот код скомпилируется, за условием, что Button - это кастомный динамический класс или мувиклип из библиотеки.
А, ну да) я уже и забыл, что мувиклип динамический :D
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.