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

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

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

Регистрация: Mar 2010
Сообщений: 223
По умолчанию Пропадает отображение, если выставить размеры.

Странная проблема, не могу понять её логику.
Если создать Sprite и проставить размеры mySprite.width и mySprite.height например 200 пикселов, после в коде что-нить нарисовать через graphics, этого нарисованого не видно.
Причем не первый раз уже.

Старый 01.08.2010, 20:59
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 2  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Вы размеры пытаетесь пустому месту задать?

Старый 01.08.2010, 21:05
cpu вне форума Посмотреть профиль Отправить личное сообщение для cpu Найти все сообщения от cpu
  № 3  
Ответить с цитированием
cpu

Регистрация: Mar 2010
Сообщений: 223
Если на Sprite который является рабочей областью проги нарисовать прямоугольник, 2000*1000, то трейсом длину и высоту видно, а если выставить через свойства width и height то 0.
Это правильно будет, устанавливать размер таким образом(через прямоугольник)?


Последний раз редактировалось cpu; 01.08.2010 в 21:08.
Старый 01.08.2010, 21:17
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 4  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Непонятно почему через width и height 0. Приведите пример...

Старый 01.08.2010, 21:44
cpu вне форума Посмотреть профиль Отправить личное сообщение для cpu Найти все сообщения от cpu
  № 5  
Ответить с цитированием
cpu

Регистрация: Mar 2010
Сообщений: 223
Основной класс, на котором строится проект.
Класс расширяет Sprite(ну это понятно думаю).

Размер stage, фоновый цвет выставил.

Код AS3:
package {
  import flash.display.Sprite;
  import org.moock.drawing.Ellipse;
 
  [SWF(frameRate = "61", backgroundColor = "0x373d4b", width="600", height="500")]
 
  public class ShapeTest extends Sprite 
  {
    private var ell: Ellipse;
 
    public function ShapeTest ()
    {
      /*--------1 вариант------------------------------------------------------*/
      //так трасе показывает "600", и все что добавляется на Sprite видно
       graphics.drawRect(0, 0, 600, 500);
       trace(this.width);
      /*--------2 вариант---------------------------------------------------*/
      //так трасе показывает "0", и еще не рисуются эллипсы, которые добавляются по коду ниже
      this.width = 600;
      this.height = 500;
      trace(this.width);
      /*---------------------------------------------------------------------*/
	ell = new Ellipse(250, 50);
	ell.setStrokeStyle(2, 0xFFFF00);
	ell.setFillStyle(0xED994F);
	for (var i:uint = 1; i < 100; i++)
	{
		ell = new Ellipse();
		addChild(ell);
		ell.x = random(100, stage.stageWidth - 100);
		ell.y = random(100, stage.stageHeight - 100);
		arr.push(ell);
	}
 
	public function random (minVal:int, maxVal:int):int
	{
		return minVal + Math.floor(Math.random() * (maxVal + 1 - minVal));
	}
 
     }
 }

Старый 01.08.2010, 21:55
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 6  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Код AS3:
var s:Sprite = new Sprite();
s.graphics.drawRect(0, 0, 123, 123);
trace(s.width) // 123
s.width = 300;
trace(s.width) // 300
Обычно перед рисованием фигуры задается заливка или стиль линии. Иначе получается, что вилами по воде водите.

Старый 01.08.2010, 22:00
cpu вне форума Посмотреть профиль Отправить личное сообщение для cpu Найти все сообщения от cpu
  № 7  
Ответить с цитированием
cpu

Регистрация: Mar 2010
Сообщений: 223
Вы меня не поняли, варианты должны быть по отдельности, т.е. посмотрите с первым как, а потом удалив первый, сделайте как во втором.
Заливка не имеет значение, потому как во втором варианте вообще нет graphics.бла-бла.

Старый 01.08.2010, 22:11
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 8  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Ну тогда перечитайте второй пост. Пустому месту нельзя задавать размеры.

Старый 01.08.2010, 22:15
cpu вне форума Посмотреть профиль Отправить личное сообщение для cpu Найти все сообщения от cpu
  № 9  
Ответить с цитированием
cpu

Регистрация: Mar 2010
Сообщений: 223
Цитата:
Сообщение от udaaff Посмотреть сообщение
Ну тогда перечитайте второй пост. Пустому месту нельзя задавать размеры.
значит это нормальное поведение.
Меня просто смущало, что на спрайте есть объекты(добавленные через addChild), которых видно, и как бы спрайт поэтому не пустой, но получается что система один хер его считает пустым, пока на нем чего-нить не нарисовано через graphics.

Старый 01.08.2010, 22:16
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 10  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Если в нем будут объекты, то он будет не пустым.

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

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

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


 


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


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