Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Непонятная ошибка Flash (http://www.flasher.ru/forum/showthread.php?t=148798)

jediff 11.01.2011 18:22

Непонятная ошибка Flash
 
Всем привет, в AS я новичок, пытаюсь сделать небольшой действие округления цифр.......когда всё выполнено после проверки командой cntr+Enter в компиляторе вылеает ошибка с этим кодом

что за код и что за ошибка не пойму,из за неё не выполняются абсолютно никакие действия
искал и на этом форуме подобную ошибку но ненашел....также искал о ней в интернете, нашел что то вроде удалить ASO Files and Test Movie , не помогло.......

помогите как избавиться?? может я что то в самих действиях не то делаю? мб присовил что то не такв самом сцнарии программы округления.....

вот сам сценарий
Код AS3:

 fraction = Input:
 
whole = int(fraction);
 
output = whole + ((fraction-whole)>=.5);

А это ошибка в компиляторе

Код AS3:

//****************************************************************************
// ActionScript Standard Library
// TextField.StyleSheet object
//****************************************************************************
 
intrinsic class TextField.StyleSheet
{
        function StyleSheet();
        function getStyle(name:String):Object;
        function setStyle(name:String,style:Object):Void;
        function clear():Void;
        function getStyleNames():Array;
        function transform(style:Object):TextFormat;
        function parseCSS(cssText:String):Boolean;
        function load(url:String):Boolean;
        function onLoad(success:Boolean):Void;
}


alatar 11.01.2011 18:29

Вы пытаетесь переменную типа int сложить с выражением которое вернет Boolean.
Код AS3:

whole = int(fraction);
output = whole + ((fraction-whole)>=.5);

Цитата:

А это ошибка в компиляторе
Это не ошибка, а отображение части интерфейса класса TextField.

Добавлено через 1 минуту
Цитата:

вот сам сценарий
А вот это сплошная ошибка. Что тут делает двоеточие?
Код AS3:

fraction = Input:


КорДум 11.01.2011 18:32

Цитата:

fraction = Input:
Что это?
Ваш код никак не связан с блоком кода из штатного класса StyleSheet.
Код AS3:

(fraction-whole)>=.5

Это вообще true/false вернет, так и надо вам?

Добавлено через 30 секунд
Упс, опоздал.

Добавлено через 1 минуту
Да и вообще. Обратите внимание на синтаксис. Это ж класс as2
Код AS1/AS2:

intrinsic class TextField.StyleSheet
{
        function StyleSheet();
        function getStyle(name:String):Object;
        function setStyle(name:String,style:Object):Void;
        function clear():Void;
        function getStyleNames():Array;
        function transform(style:Object):TextFormat;
        function parseCSS(cssText:String):Boolean;
        function load(url:String):Boolean;
        function onLoad(success:Boolean):Void;
}


jediff 11.01.2011 18:40

да это AS2 , дело в том что когда я хочу задать имя Variable в AS3 в поле невозможно ничего написать , вылетает окно где сообщатся что типо в AS3 данная функция не поддерживается и мне в настройках приходится переходить на AS2......это у меня глюкнутая программка ?

и я так понял если я сделаю это не на AS2 а на AS3 данная класс не вылетит в компиляторе?

КорДум 11.01.2011 18:44

as2 и as3 похожи только тем, что оба пишутся в классах. А так - это совершенно разные языки (хоть и синтаксис си-образный тоже). Вы определитесь, на чем вы пишете и что вообще хотите.
Цитата:

задать имя Variable
Что за имя? Где оно? Чего вы хотите?

jediff 11.01.2011 18:50

объясню.....в интернете я нашел книгу ссылка ниже, и там есть урок окргуления вещественных чисел, он маленький, если вы его посмотрите мб вы поймёте что я хочу....просто поймите что сейчас как то объяснится что я хочу от AS мне сложно......и писать я хочу в AS3......мб книжечке которую я читаю лет 10 уже?......прошу прощения за моё нубство.....(

ash3d.narod.ru/flashscript/Chapter2/1.htm#1

КорДум 11.01.2011 18:53

Не стоит так извиняться. Итак, в as любой версии есть класс Math, имеющий метод округления round.
Код AS3:

Math.round(вещественное число);

Если хотите изучать as3, а не ниже, то следует почитать Колина Мука, популярная книга. Самая лучшая, на мой взгляд. Там также объясняются основы программирования.
И да, вы правы, тем статьям лет 10, а то и больше. Будто времена MX или даже Flash 5.

jediff 11.01.2011 18:57

да там Flash 5......

честно я думал это Колин Мук...)
а книга эта в паблике не существует , только купить да?

КорДум 11.01.2011 19:00

Пираток-сканов навалом. Но, я честный и я против пираток ;). Сам купил себе бумажный вариант, бумажный вариант и вам советую.

andrew911 11.01.2011 19:58

Цитата:

Сообщение от КорДум (Сообщение 963687)
Не стоит так извиняться. Итак, в as любой версии есть класс Math, имеющий метод округления round.
Код AS3:

Math.round(вещественное число);


Код AS3:

int(вещественное число+0.5);

быстрее.

Да, да, преждевременная оптимизация - зло ;)


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

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