Как получить информацию о странице изнутри Unity?

Я создал помощника в UIView

@interface UIView (Helper)

- (void)roundCornerswithRadius:(float)cornerRadius
               andShadowOffset:(float)shadowOffset;
@end

, вы можете называть его так

[self.view roundCornerswithRadius:5 andShadowOffset:5];

Вот реализация

- (void)roundCornerswithRadius:(float)cornerRadius
               andShadowOffset:(float)shadowOffset
{
    const float CORNER_RADIUS = cornerRadius;
    const float SHADOW_OFFSET = shadowOffset;
    const float SHADOW_OPACITY = 0.5;
    const float SHADOW_RADIUS = 3.0;

    UIView *superView = self.superview;

    CGRect oldBackgroundFrame = self.frame;
    [self removeFromSuperview];

    CGRect frameForShadowView = CGRectMake(0, 0, oldBackgroundFrame.size.width, oldBackgroundFrame.size.height);
    UIView *shadowView = [[UIView alloc] initWithFrame:frameForShadowView];
    [shadowView.layer setShadowOpacity:SHADOW_OPACITY];
    [shadowView.layer setShadowRadius:SHADOW_RADIUS];
    [shadowView.layer setShadowOffset:CGSizeMake(SHADOW_OFFSET, SHADOW_OFFSET)];

    [self.layer setCornerRadius:CORNER_RADIUS];
    [self.layer setMasksToBounds:YES];

    [shadowView addSubview:self];
    [superView addSubview:shadowView];

}
1
задан hal 17 January 2019 в 13:07
поделиться

1 ответ

Для выполнения любого кода JavaScript на странице из Unity WebAssembly требуется две вещи:

  1. Создайте код Javascript как плагин.
  2. Импортировать код в сценарий Unity.

Вся процедура описана в этом руководстве: https://docs.unity3d.com/Manual/webgl-interactingwithbrowserscripting.html .

Код плагина должен находиться в пути Assets / Plugins / pluginname.jslib (расширение важно) и иметь схожую структуру:

mergeInto(LibraryManager.library, {
    Hello: function () {
        window.alert("Hello, world!");
    },
    HelloReturn: function () {
        return "Hello, world!";
    }
}

Для его использования необходим импорт:

[111 ]
0
ответ дан hal 17 January 2019 в 13:07
поделиться
Другие вопросы по тегам:

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