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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.03.2016, 09:51
Comer вне форума Посмотреть профиль Отправить личное сообщение для Comer Найти все сообщения от Comer
  № 11  
Ответить с цитированием
Comer

Регистрация: Dec 2010
Сообщений: 121
Цитата:
Сообщение от KiL33 Посмотреть сообщение
как то так
Спасибо Вам большое! Мне не хватило мозгов додуматься вот до этой строчки:
Код AS3:
var count:uint = uint(myTF.text)+n;

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
Сообщение от Comer Посмотреть сообщение
Спасибо Вам большое! Мне не хватило мозгов додуматься вот до этой строчки:
Код AS3:
var count:uint = uint(myTF.text)+n;
Ну а если там будет не uint? Эта строчка чревата багами в программе. uint или unsigned integer (целое беззнаковое) это положительное целое число. Если там будет отрицательное (по какой-то причине), то результат будет очень странный. Лучше использовать parseInt(myTF.text)+n;[
__________________
Ко мне можно и нужно обращаться на ты)

Старый 21.03.2016, 11:37
Comer вне форума Посмотреть профиль Отправить личное сообщение для Comer Найти все сообщения от Comer
  № 13  
Ответить с цитированием
Comer

Регистрация: Dec 2010
Сообщений: 121
Цитата:
Сообщение от caseyryan Посмотреть сообщение
Ну а если там будет не uint? Эта строчка чревата багами в программе. uint или unsigned integer (целое беззнаковое) это положительное целое число. Если там будет отрицательное (по какой-то причине), то результат будет очень странный. Лучше использовать parseInt(myTF.text)+n;[
Понял. Учту. Спасибо!
Тут у меня теперь новая головная боль. Пытаюсь сохранить последнее число, чтобы при повторном открытии ролика оно появилось на экране. Но что-то я, видимо, не то делаю. Не появляется! Может поможешь? Я вложил swf, чтобы ты мог посмотреть.

Код AS3:
var n:uint=5;
myTF.text=n+"";
myBtn.addEventListener(MouseEvent.CLICK,onClick);
function onClick(e:MouseEvent):void {
var count:uint = parseInt(myTF.text)+n;
myTF.text=count+"";
}
 
 
var sharedObj:SharedObject = SharedObject.getLocal("frameSave");
 
 
save_mc.addEventListener(MouseEvent.CLICK, save_click);
load_mc.addEventListener(MouseEvent.CLICK, load_click);
 
 
function save_click(e:MouseEvent):void
{
	sharedObj.data.frameNum = parseInt(myTF.text);
	parseInt(myTF.text);
	trace("Сохранёно число", sharedObj.data.frameNum );
}
 
function load_click(e:MouseEvent):void
 
	{
		parseInt(myTF.text);
		trace("Загружено число", sharedObj.data.frameNum);
	}
Вложения
Тип файла: swf переключатель.swf (3.1 Кб, 31 просмотров)


Последний раз редактировалось Comer; 21.03.2016 в 20:26.
Старый 22.03.2016, 08:41
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 14  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
Код AS3:
function load_click(e:MouseEvent):void
 
	{
		parseInt(myTF.text);
		trace("Загружено число", sharedObj.data.frameNum);
	}
Что ты пытаешь сделать здесь? У тебя просто парсится то, что есть текстовом поле на данный момент. Но с результатом ничего не делается.
Тебе нужно записать в текстовое поле то, что у тебя есть в шерд объекте
То есть что-то типа этого:
Код AS3:
myTF.text = sharedObj.data.frameNum.toString();
Вот, написал тебе простой пример счетчика с сохранением.
Обрати внимание, что тут значение получается не из текстового поля, а хранится в отдельной переменной.
Код AS3:
package {
	import flash.display.Sprite;
	import flash.events.MouseEvent;
	import flash.net.SharedObject;
	import flash.text.TextField;
 
 
	public class SimpleCounter extends Sprite {
 
 
		private static const SHARED_OBJECT_NAME:String = "counter";
 
		private var _tf:			TextField 		= null;
		private var _value:			int				= 0; 
		private var _sharedObject:	SharedObject	= null;
 
		public function SimpleCounter() {
			stage.addEventListener(MouseEvent.CLICK, onClick);
 
			_sharedObject	= SharedObject.getLocal(SHARED_OBJECT_NAME);
			// при загрузке приложения, проверяем сохранено ли что-то в куках
			if (_sharedObject.data.hasOwnProperty("counterValue")) {
				_value = _sharedObject.data.counterValue;
			}
 
			_tf 			= new TextField();
			_tf.text		= _value.toString();
			addChild(_tf);
		}
 
		private function onClick(e:MouseEvent):void {
			_value ++;
			// сохраняем
			_sharedObject.data.counterValue = _value;
			_tf.text = _value.toString();
		}
 
	}
 
}
Если ты не вводишь в него значение вручную, то лучше сделать именно так.
__________________
Ко мне можно и нужно обращаться на ты)

Старый 22.03.2016, 17:02
Comer вне форума Посмотреть профиль Отправить личное сообщение для Comer Найти все сообщения от Comer
  № 15  
Ответить с цитированием
Comer

Регистрация: Dec 2010
Сообщений: 121
Цитата:
Сообщение от caseyryan Посмотреть сообщение
Если ты не вводишь в него значение вручную, то лучше сделать именно так
Ух ты! Сам бы я до такого кода не додумался. У меня ещё не так много знаний. Но, как говорится, век живи - век учись. Спасибо тебе за урок и помощь!
Классный форум! Доброжелательные форумчане! Пусть всё у вас будет хорошо!


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

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

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


 


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


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