cocos2d-x의 webview 클래스 사용
cocos2d-x에서 webview 사용
cocos2d-x v3.x 시스템은 webview를 쉽게 통합할 수 있다. ios·android 신경쓰지 않고 사용할 수 있는 것은 매우 편리.
로컬 파일도 쉽게 읽을 수 있으므로 온라인 오프라인 모두 대응할 수 있다.
cocos2d-x는 이미 도입되었습니다.
프로젝트 만들기
cocos new webview -p com.caad1229.webview -l cpp
우선 WebView를 내보내기
WebView 객체를 생성.
HelloWorldScene.cpp
의 init()
에 추가.#include "ui/CocosGUI.h"
bool HelloWorld::init()
{
//
// 省略
//
{
auto webView = cocos2d::experimental::ui::WebView::create();
webView->loadURL("http://yahoo.co.jp");
// ポジションとサイズを調整
Size screen = Director::getInstance()->getOpenGLView()->getDesignResolutionSize();
webView->setAnchorPoint(Vec2::ANCHOR_MIDDLE_RIGHT);
webView->setContentSize(Size(screen.width/2, screen.height));
webView->setPosition(Vec2(screen.width, screen.height/2));
this->addChild(webView);
}
}
에뮬레이터 또는 실제 기기가 연결된 상태에서 빌드 및 실행
cocos run -p android
다음과 같이 될 것입니다.
로컬 파일을 내보내기
앱 내부에 보관하고 있는 파일을 읽어들일 수도 있다. 이렇게하면 오프라인에서도 지정된 HTML을 읽을 수 있습니다.
로컬 파일 추가
이미지등 넣을 수 있다
Resouces
폴더에 파일을 넣을 수 있다. 이번에는 help.html
$ vim ./Resouces/help.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>help</title>
</head>
<body>
<h1>
WebView Help Test Page
</h1>
<p>test test test</p>
</body>
</html>
HelloWorldScene.cpp
의 init()
에 추가. 거의 같고 loadURL
가 loadFile
가 될 뿐. {
auto webView = cocos2d::experimental::ui::WebView::create();
webView->loadFile("help.html");
// ポジションとサイズを調整
Size screen = Director::getInstance()->getOpenGLView()->getDesignResolutionSize();
webView->setAnchorPoint(Vec2::ANCHOR_MIDDLE_LEFT);
webView->setContentSize(Size(screen.width/2, screen.height));
webView->setPosition(Vec2(0, screen.height/2));
this->addChild(webView);
}
확인해 보면 다음과 같이 된다.
요약
최신의 v3.6에서도
experimental
가 되어 있어 실험 단계의 모양. 다만, 복잡하게 사용하지 않는 한 충분할 것이라고 생각한다. 참조에는 다양한 콜백 함수와 webview를 제어하는 API가 있습니다.cocos2d-x이므로, 사용하는 것은 게임의 헬프라든지가 될 것 같지만, html이라면 간편하게 다양한 사용법도 할 수 있을 것 같네요. 덧붙여서 당연하지만 리눅스는 없습니다.
프로젝트 github (용량을 줄이기 위해 cocos2d-x 라이브러리가 제거되었습니다).
Reference
이 문제에 관하여(cocos2d-x의 webview 클래스 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/caad1229/items/c857372060e822ffe11a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)