- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到了一些问题:我正在尝试访问我添加了 Sprite 的容器的宽度,但它似乎返回为 1。但是,当我检查对象时控制台,它给了我合适的宽度。
I wrote up a code pen showing the issue , 但它是这样的:
var container = new PIXI.Container();
app.stage.addChild(container);
var sprite = PIXI.Sprite.fromImage('https://i2.wp.com/techshard.com/wp-
content/uploads/2017/05/pay-1036469_1920.jpg?ssl=1&w=200');
container.addChild(sprite);
console.log(container.height);
console.log(container);
第一个控制台日志返回 1,而如果我进入第二个日志中的对象,它会返回 141。
我正在尝试将容器居中 like in the demo .演示容器返回正确的宽度,除非你 try and do it for only one "bunny" (用互联网图像替换兔子纹理,for 循环也被注释掉)。
有什么关于正确方法的建议吗?干杯
最佳答案
这里有几件事要解决。
您正在从尚未加载的图像创建纹理。
在图像加载之前,pixi 无法为您提供它的尺寸,并且当您立即查询它们时,容器会报告宽度和高度为 1。如果您将相同的 console.log 语句置于超时状态,那么它将在图像加载后报告尺寸,因此尺寸将是准确的。
注销对象本身似乎可行,因为当您检查它的内容时,它们已更新为正确的值,因为此时图像已加载。
如果在您使用它创建新 Sprite 时纹理已经在缓存中,那么您无需等待即可访问其真实尺寸。
事实上,它确实如此。您只是没有注意到它。
神奇之处在于 bunny.anchor.set(0.5);
。它在网格中排列了 25 个宽度和高度为 1 的 Sprite 。通过将它们隔开,它们的容器现在的宽度和高度为 160。
此容器现在根据其当前尺寸立即居中,然后当 Sprite 纹理完成加载并且 Sprite 更新为新尺寸时。然而,由于它们的 anchor 设置为 0.5,这意味着尽管它们的容器现在变大了,但它们仍然居中。
您可以尝试使用比兔子更大的图像来夸大事物并更改 anchor 值,同时使用重新运行代码按钮而不是仅仅刷新页面。如果您重新运行代码,用于纹理的图像仍由 pixi 缓存,因此您会得到不同的结果。
在使用它们创建 Sprite 之前加载您的 Assets 。
(或者至少在查询它们的尺寸以定位事物之前等待它们被加载)
您可以在此处找到 pixi 资源加载器的示例:http://pixijs.io/examples/?v=next-interaction#/basics/spritesheet.js
关于Pixi.js Container.width 不返回宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53157551/
大家好,所有rdf/sparql开发人员。这是一个困扰了我一段时间的问题,但是自从发布rdf和sparql规范以来,似乎没人能准确回答这个问题。 为了说明这种情况,RDF定义了几种方法来处理资源的多值
我在我的应用程序中使用 Bootstrap ,现在遇到了一个大问题。问题是 .container 元素在 1360 px 的屏幕上具有 274px 的左右边距,这是相当大的。结果,一切看起来都被挤到了
我在删除Docker容器时遇到问题-当我使用前一个命令时,它不起作用(Docker报告了容器ID,但没有删除它)。后者起作用了。据我所知,Docker语法是相同的: C:\Users\user>doc
std::back_inserter 仅适用于带有 push_back 的容器,因此它不适用于 set 和 map 另一方面,std::inserter 适用于所有容器类型。那么我可以一直使用 std
我正在开发 Spring Boot + Redis 示例。在此示例中,我开发了一些自定义方法,这些方法基于 RoleName 提取详细信息。对于以下方法 userRepository.findByRo
在我的 Swift 应用程序中尝试实现 Google Tag Manager v5 时,我遇到了以下警告,这给我带来了一些麻烦: GoogleTagManager warning: No defaul
安装了新的 Laravel 8 项目并在加载第一个实例时,出现以下错误。这很奇怪,因为我把它放在一边,后来从 Laravel 5.8 -> 6 升级了另一个项目(工作正常),当我去检查网站时遇到了类似
我有以下测试代码,它只创建一个空的 hashmap (containers.map) 并在之后填充它: hashtable = containers.Map('KeyType','char','Va
我对它们之间的差异有一点了解,但是拥有专家意见将是很棒的。 Container-Optimized Google Compute Engine Images Google Container Engi
我会模板化一个函数,以便将它与 vector、set 或任何其他 STL 容器(具有正确的 API...)一起使用 我的函数当前原型(prototype)是: vector> f ( const ve
我正在尝试匹配包含和不包含某些字符串的 Pandas DataFrame 的行。例如: import pandas df = pandas.Series(['ab1', 'ab2', 'b2', 'c
我需要在一个非常庞大的全文索引数据库中找到一些文本,但我不知道在我的查询术语变体中使用什么更好。 我看过一些使用的例子 SELECT Foo.Bar FROM Foo WHERE
Traceback (most recent call last): File "demo.py", line 132, in `result = find_strawberry(image
我正在尝试编写一个函数,其中一列包含一个子字符串并且不包含另一个子字符串。 在下面的示例中,如果我的行包含“某些项目”并且不包含“开销”,我希望我的函数返回 1。 row| example strin
我试图在文本文件中 append 包含给定字符串集的任何行。我创建了一个测试文件,在其中放置了这些字符串之一。我的代码应该将文本文件中包含这些字符串之一的任何行打印在与文本文件中的上一行相同的行上。这
我正在尝试学习如何使用 std.container 中可用的各种容器结构,但我无法理解如何执行以下操作: 1) 如何创建一个空容器?例如,假设我有一个用户定义的类 Foo,并且想要创建一个应该包含 F
$contains: [1, 2] // @> [1, 2] (PG array contains operator) $contained: [1, 2] // <@ [1,
我看到 CSS 中使用了这种“div#container”语法,我想知道它是如何工作的。有人有它的资源吗? 最佳答案 除了作为上面提到的唯一引用之外,ID 还增加了特异性(我强烈建议您阅读这篇文章或一
我有一个生成很多子对象的应用程序,每个子对象都与一些全局应用程序对象一起工作,例如在全局应用程序注册表中注册自己,更新应用程序统计信息等。 应用程序应该如何将访问这些全局对象的能力传递给 child
Here is a Sencha fiddle of my tab panel setup.按钮被动态添加到 vbox 选项卡容器中,该容器是 hbox 布局设置的一部分。选项卡容器的宽度由 flex
我是一名优秀的程序员,十分优秀!