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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 30.07.2013, 08:01
Anabel вне форума Посмотреть профиль Отправить личное сообщение для Anabel Найти все сообщения от Anabel
  № 1  
Ответить с цитированием
Anabel

Регистрация: Apr 2013
Сообщений: 82
По умолчанию Подсчёт очков

Есть игра, на несколько уровней, после прохождения каждого показываеться кол-во очков (те что набрал на уровне + те что были на предидущих). Есть взять просто вывод за уровень, то это можно решить таким кодом:
Код AS3:
import flash.text.TextField;
 
var t:TextField = new TextField(); // экземпляр класса
 
var point:Number=60; // очки
 
t.text = String(point); // присваиваем  значение 
 
addChild(t);// добавляем на сцену
А вот как сделать, что бы додавались очки с предидущих уровней к тем, которые набрал? Пробовал переменную перевести назад из String в Number, потом додать и опять в String, но не получаеться. Может кто-то сталкивался, знает как решить.

Старый 30.07.2013, 08:44
KumoKairo вне форума Посмотреть профиль Отправить личное сообщение для KumoKairo Найти все сообщения от KumoKairo
  № 2  
Ответить с цитированием
KumoKairo
 
Аватар для KumoKairo

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
Можно решить двумя способами (самыми, на мой взгляд, простыми)
Первый - хранить очки в статическом поле какого-либо класса и обращаться к нему из любого места программы:
Код AS3:
...
public class ScoreHelper
{
    public static var point:Number;
}
Код AS3:
...
t.text = ScoreHelper.point.toString();
Можно сделать поле private и обращаться через set и get, это как хочется
Это способ "в лоб" и его обычно стараются не использовать, но для тестового проекта вполне сойдет

Второй способ - создать где-нибудь объект, хранящий значение счета, и перекидывать его туда-сюда между уровнями.

====
Fogflasher, и правда опечатка. Спасибо, исправил)
caseyryan, это не я писал с утра, это братик маленький за компом баловался, чеснослово!
Надо взять за правило не отвечать на вопросы с утра пораньше) Прошу прощения за смуту)


Последний раз редактировалось KumoKairo; 31.07.2013 в 08:32.
Старый 30.07.2013, 09:13
Fogflasher вне форума Посмотреть профиль Отправить личное сообщение для Fogflasher Найти все сообщения от Fogflasher
  № 3  
Ответить с цитированием
Fogflasher

Регистрация: Mar 2013
Сообщений: 290
KumoKairo, второй код странный, нигде нет слова point, разве не должно быть:

Код AS3:
t.text = ScoreHelper.point.toString();
Или в вашем написании какие-то умолчальные фишки используются.

Старый 30.07.2013, 15:21
Anabel вне форума Посмотреть профиль Отправить личное сообщение для Anabel Найти все сообщения от Anabel
  № 4  
Ответить с цитированием
Anabel

Регистрация: Apr 2013
Сообщений: 82
Спасибо, попробую реализировать.

Старый 30.07.2013, 23:10
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 5  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
Fogflasher, и правда опечатка. Спасибо, исправил)
ну тогда и
Код AS3:
public class ScoreHelper
{
    public static point:Number;
}
надо бы исправить на
Код AS3:
public class ScoreHelper
{
    public static var point:Number;
}


Плюс у Number значение по умолчанию NaN. Надо бы сразу инициализировать нулем. А вообще, я бы лучше int использовал.

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

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

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


 


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


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