Unity3D - нарезать спрайт во время выполнения?

Я не могу прокомментировать полезность наличия отдельной функции удобства, которая переносит результат другого, но я могу прокомментировать where vs nonzero. В простейшем случае использования where действительно совпадает с nonzero.

>>> np.where(np.array([[0,4],[4,0]]))
(array([0, 1]), array([1, 0]))
>>> np.nonzero(np.array([[0,4],[4,0]]))
(array([0, 1]), array([1, 0]))

или

>>> a = np.array([[1, 2],[3, 4]])
>>> np.where(a == 3)
(array([1, 0]),)
>>> np.nonzero(a == 3)
(array([1, 0]),)

where отличается от nonzero в если вы хотите выбрать элементы из массива a, если какое-либо условие True и из массива b, когда это условие False.

>>> a = np.array([[6, 4],[0, -3]])
>>> b = np.array([[100, 200], [300, 400]])
>>> np.where(a > 0, a, b)
array([[6, 4], [300, 400]])

Опять же, я не могу объясните, почему они добавили функциональность nonzero к where, но это по крайней мере объясняет, как эти два разных.

EDIT: Исправлен первый пример ... моя логика была некорректной ранее

0
задан Roman Peterson 17 January 2019 в 07:52
поделиться

1 ответ

Вы можете создать его, используя Sprite.Create . У него есть параметр, который называется border.

0
ответ дан shingo 17 January 2019 в 07:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: