Nano Hash - криптовалюты, майнинг, программирование

Линия не рисуется на холсте с помощью pixi.dart

Я думал, что у меня есть то, что нужно с этим кодом, чтобы нарисовать линию на холсте, но, похоже, это не так. Могу ли я получить указания относительно того, что я сделал неправильно/не сделал?

import 'dart:html';
import 'package:pixi/pixi.dart';

class BunnyExample
{
    CanvasRenderer renderer    = new CanvasRenderer(width: 400, height: 300);
    Stage stage       = new Stage(new Colour.fromHtml('#ffffff'));
    Graphics graph = new Graphics();

    BunnyExample()
    {
        document.body.append(this.renderer.view);
        window.requestAnimationFrame(_lineAnim);
    }

    void _lineAnim(var num)
    {
      window.requestAnimationFrame(this._lineAnim);
      graph
      ..position = new Point(0, 0)
      ..pivot = new Point(50, 50)
      ..lineStyle(1,new Colour(255, 0, 0))
      ..beginFill(new Colour(255,0,0))
      ..lineTo(50, 70)
      ..endFill();
      stage.children.add(graph);
      renderer.render(stage);
    }
}

void main()
{
    new BunnyExample();
}
29.09.2014

Ответы:


1

Кажется, вам нужно позвонить moveTo() перед lineTo():

void _lineAnim(var num)
{
  window.requestAnimationFrame(this._lineAnim);
  graph
  ..position = new Point(0, 0)
  ..pivot = new Point(50, 50)
  ..lineStyle(1,new Colour(255, 0, 0))
  ..beginFill(new Colour(255,0,0))
  ..moveTo(50, 50)
  ..lineTo(50, 70)
  ..endFill();
  renderer.render(stage);
}

Кроме того, лучше установить этап в конструкторе, иначе у вас может быть утечка памяти:

BunnyExample()
{
    stage.children.add(graph); //doing this in the animation loop leads to a memory leak
    document.body.append(this.renderer.view);
    window.requestAnimationFrame(_lineAnim);
}
29.09.2014
  • я вижу, спасибо за совет ... так что по умолчанию он начинается не с 0,0, а скорее с нуля и не нарушает ваш код? Или что происходит? :/ 30.09.2014
  • а также, когда я переместился на 0,0 и нарисовал на 50,50, я ничего не видел нарисованным ... что, начало координат находится за пределами холста? о.О 30.09.2014
  • Если вы удалите свойства position и pivot, вы можете нарисовать линию от 0,0 до 50,50, но я не могу вам объяснить, почему. Я не специалист по этой библиотеке, я только что отладил ваш код, чтобы понять, почему он не работает :) 30.09.2014
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..