Cocos2D-x; ui 未被识别为命名空间
Cocos2D-x; ui not recognized as a namespace
我知道这可能是基本的,但我不知道为什么会这样。我尝试将视频放入 HelloWorldScene.cpp,只是为了尝试一下,使用 experimental::ui::VideoPlayer 就像看到的 here.
这是错误图片:http://i.imgur.com/z1NcqH1.png
我看了一个视频教程,对他来说效果很好。提前致谢!
#include "HelloWorldScene.h"
#include "cocostudio/CocoStudio.h"
#include "ui/CocosGUI.h"
USING_NS_CC;
//using namespace cocostudio::timeline;
Scene* HelloWorld::createScene()
{
// 'scene' is an autorelease object
auto scene = Scene::create();
// 'layer' is an autorelease object
auto layer = HelloWorld::create();
// add layer as a child to scene
scene->addChild(layer);
// return the scene
return scene;
}
// on "init" you need to initialize your instance
bool HelloWorld::init()
{
//////////////////////////////
// 1. super init first
if ( !Layer::init() )
{
return false;
}
auto rootNode = CSLoader::createNode("MainScene.csb");
addChild(rootNode);
const cocos2d::Size visibleSize(cocos2d::Director::getInstance()->getVisibleSize());
cocos2d::experimental::ui::VideoPlayer testvideo = cocos2d::experimental::ui::VideoPlayer::create();
testvideo->setContentSize(visibleSize);
testvideo->setAnchorPoint(cocos2d::Vec2::ANCHOR_MIDDLE);
testvideo->setPosition(visibleSize / 2);
testvideo->setURL("https://www.youtube.com/watch?v=Y2V6yjjPbX0");
addChild(testvideo);
testvideo->play();
return true;
}
VideoPlayer
并非所有平台都支持。
如果您在 Xcode 上 运行,请确保您选择了 Test-mobile
方案而不是 Test-desktop
否则使用平台预处理器
#if(CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
cocos2d::experimental::ui::VideoPlayer* testvideo = cocos2d::experimental::ui::VideoPlayer::create();
testvideo->setContentSize(visibleSize);
testvideo->setPosition(Vec2(origin.x + visibleSize.width/2,
origin.y + visibleSize.height/2));
testvideo->setURL("https://www.w3schools.com/html/mov_bbb.mp4");
addChild(testvideo);
testvideo->play();
#endif
您不能通过流式传输在您的应用内播放 youtube 视频,这是不允许的。在官方 YouTube 视频播放器之外播放视频是违反服务条款的。仅允许 flash/html 浏览器中的播放器或 Android YouTube API 中包含的播放器。
查看此 discussion 了解更多详情。
我知道这可能是基本的,但我不知道为什么会这样。我尝试将视频放入 HelloWorldScene.cpp,只是为了尝试一下,使用 experimental::ui::VideoPlayer 就像看到的 here.
这是错误图片:http://i.imgur.com/z1NcqH1.png 我看了一个视频教程,对他来说效果很好。提前致谢!
#include "HelloWorldScene.h"
#include "cocostudio/CocoStudio.h"
#include "ui/CocosGUI.h"
USING_NS_CC;
//using namespace cocostudio::timeline;
Scene* HelloWorld::createScene()
{
// 'scene' is an autorelease object
auto scene = Scene::create();
// 'layer' is an autorelease object
auto layer = HelloWorld::create();
// add layer as a child to scene
scene->addChild(layer);
// return the scene
return scene;
}
// on "init" you need to initialize your instance
bool HelloWorld::init()
{
//////////////////////////////
// 1. super init first
if ( !Layer::init() )
{
return false;
}
auto rootNode = CSLoader::createNode("MainScene.csb");
addChild(rootNode);
const cocos2d::Size visibleSize(cocos2d::Director::getInstance()->getVisibleSize());
cocos2d::experimental::ui::VideoPlayer testvideo = cocos2d::experimental::ui::VideoPlayer::create();
testvideo->setContentSize(visibleSize);
testvideo->setAnchorPoint(cocos2d::Vec2::ANCHOR_MIDDLE);
testvideo->setPosition(visibleSize / 2);
testvideo->setURL("https://www.youtube.com/watch?v=Y2V6yjjPbX0");
addChild(testvideo);
testvideo->play();
return true;
}
VideoPlayer
并非所有平台都支持。
如果您在 Xcode 上 运行,请确保您选择了 Test-mobile
方案而不是 Test-desktop
否则使用平台预处理器
#if(CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
cocos2d::experimental::ui::VideoPlayer* testvideo = cocos2d::experimental::ui::VideoPlayer::create();
testvideo->setContentSize(visibleSize);
testvideo->setPosition(Vec2(origin.x + visibleSize.width/2,
origin.y + visibleSize.height/2));
testvideo->setURL("https://www.w3schools.com/html/mov_bbb.mp4");
addChild(testvideo);
testvideo->play();
#endif
您不能通过流式传输在您的应用内播放 youtube 视频,这是不允许的。在官方 YouTube 视频播放器之外播放视频是违反服务条款的。仅允许 flash/html 浏览器中的播放器或 Android YouTube API 中包含的播放器。
查看此 discussion 了解更多详情。