{"_id":"54e863f5c8e0c00d007abffd","__v":6,"project":"5463e333447e0a100024a087","version":{"_id":"5463e333447e0a100024a08a","project":"5463e333447e0a100024a087","__v":6,"createdAt":"2014-11-12T22:46:11.486Z","releaseDate":"2014-11-12T22:46:11.486Z","categories":["5463e333447e0a100024a08b","54645c365871e90800f50151","547b1c5a4366a708001b3b50","547b1cdf4366a708001b3b5a","54e3bef8464a9c3700f7ca67","54ec651d7ab3172d00c01ab7"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1.0"},"category":{"_id":"54e3bef8464a9c3700f7ca67","pages":["54e3bfabe887c50d005ef6a0","54e3c35ee887c50d005ef6af","54e3c9ade887c50d005ef6b4","54e3ca68e887c50d005ef6b6","54e47d6a610dfd0d00b2a84a","54e487250e41ef2b00b996c2","54e48ec60e41ef2b00b996cd","54e5c6e8e662e60d00aff673","54e5d4efe0b92439007d6999","54e5dc0ae0b92439007d69aa","54e72c88e6e77d1900ed10fa","54e7391f3c1e111700d05749","54e73f1a3c1e111700d05757","54e863f5c8e0c00d007abffd","54e86704a64fba0d00846860","54e86abb32b0b00d00c960f2","54e9e881560f2b170087f1d0","54e9eca2a6f14f0d003e96b5","54e9f04d560f2b170087f1d3","54eb2041996da20d00e6d68e","54eb801659b1172100334ffc","54eb8101df7add210007b31a","54ec584cc0c0ba1700386f8d","54ec5adad17b6d2300a54d75","54ec5e077ab3172d00c01aae","54edf8ca1e4ee60d0018e89f","54edfbc0130818170073a16b","54edff0e8dafa7250027e659"],"project":"5463e333447e0a100024a087","__v":28,"version":"5463e333447e0a100024a08a","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2015-02-17T22:21:44.099Z","from_sync":false,"order":2,"slug":"cocos-studio","title":"Cocos Studio"},"user":"54639d06447e0a1000249f7f","updates":[],"next":{"pages":[],"description":""},"createdAt":"2015-02-21T10:54:45.610Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"auth":"required","params":[],"url":""},"isReference":false,"order":999,"body":"[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Adding A CheckBox\"\n}\n[/block]\nDrag a CheckBox from the Widgets section onto the middle canvas.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/7SISYaHBRHOnENUWMACV_Screen-Shot-2015-02-21-at-10.58.12.png\",\n        \"Screen-Shot-2015-02-21-at-10.58.12.png\",\n        \"257\",\n        \"273\",\n        \"\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Selecting The CheckBox\"\n}\n[/block]\nYou can select the CheckBox if it isn't already selected from the **Animation Editor** at the bottom. The CheckBox doesn't appear in the resources as it's part of the Scene or other object that you are using.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/XtujbqSziDxZveuYnVzg_Screen-Shot-2015-02-21-at-10.58.45.png\",\n        \"Screen-Shot-2015-02-21-at-10.58.45.png\",\n        \"251\",\n        \"333\",\n        \"#1074f1\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Changing The CheckBox\"\n}\n[/block]\nYou can change the properties of the CheckBox in the Properties section. Setting the images can be done by double clicking on a state or dragging an image from the Resources section.\n\nYou can also set whether or not the CheckBox is selected by default.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/jeGUdikBS1CtJY0mVNzy_Screen%20Shot%202015-02-21%20at%2010.58.25.png\",\n        \"Screen Shot 2015-02-21 at 10.58.25.png\",\n        \"355\",\n        \"259\",\n        \"#5a7fb3\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Accessing The CheckBox In Code\"\n}\n[/block]\nCheckBox's can be accessed via their **Name** or **Tag** which can be set in the **Properties** section.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/EJTbyGDtQ4OTe1y3dFn6_Screen%20Shot%202015-02-21%20at%2010.59.15.png\",\n        \"Screen Shot 2015-02-21 at 10.59.15.png\",\n        \"352\",\n        \"88\",\n        \"#7498bc\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]\nTo access the CheckBox from a scene for example, in code it is simple. You either access it as a **Node** or cast it to a **CheckBox** allowing you to use **CheckBox** methods along with **Node** methods.\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"Node *rootNode = CSLoader::createNode( \\\"Filepath to .csb file\\\" );\\nthis->addChild( rootNode );\\n\\n// checkbox accessed as a node using it's name\\nNode *checkbox = rootNode->getChildByName( \\\"Name set in Cocos Studio\\\" );\\n\\n// checkbox cast to a checkbox using it's name\\ncocos2d::ui::CheckBox *checkBox = ( cocos2d::ui::CheckBox * )rootNode->getChildByName( \\\"Name set in Cocos Studio\\\" );\\n\\n// checkbox accessed as a node using it's tag\\nNode *checkbox = rootNode->getChildByTag( 5 );\\n\\n// checkbox cast to a checkbox using it's tag\\ncocos2d::ui::CheckBox *checkBox = ( cocos2d::ui::CheckBox * )rootNode->getChildByTag( 5 );\",\n      \"language\": \"cplusplus\",\n      \"name\": \"Cocos2d-x C++\"\n    },\n    {\n      \"code\": \"var rootNode = ccs.load( \\\"Filepath to .json file\\\" );\\nthis.addChild( rootNode.node );\\n\\n// get the checkbox by name\\nvar checkbox = rootNode.node.getChildByName( \\\"Name set in Cocos Studio\\\" );\\n\\n// get the checkbox by tag\\nvar checkbox = rootNode.node.getChildByTag( 5 );\",\n      \"language\": \"javascript\",\n      \"name\": \"Cocos2d-JS\"\n    }\n  ]\n}\n[/block]\nNote: *Cocos2d-JS doesn't require casting to use CheckBox methods.*\n\nATM the CheckBox does nothing, we need to attach an event listener so we can detect when the user has interacted with the CheckBox.\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"void selectedEvent( Ref *sender, cocos2d::ui::CheckBox::EventType type );\",\n      \"language\": \"cplusplus\",\n      \"name\": \"Cocos2d-x C++ Header\"\n    },\n    {\n      \"code\": \"// this is the object that was cast to a checkbox\\ncheckBox->addEventListener( CC_CALLBACK_2( ClassName::selectedEvent, this ) );\\n\\n// this is called when the user interacts with the checkbox\\nvoid ClassName::selectedEvent( Ref *sender, cocos2d::ui::CheckBox::EventType type )\\n{\\n    switch (type)\\n    {\\n        case cocos2d::ui::CheckBox::EventType::SELECTED:\\n            // code for when the checkbox has been clicked and is now selected (binary 1)\\n\\n      \\t\\t\\tbreak;\\n            \\n        case cocos2d::ui::CheckBox::EventType::UNSELECTED:\\n            // code for when the checkbox has been clicked and is now not selected (binary 0)\\n      \\n            break;\\n            \\n        default:\\n            \\n            break;\\n    }\",\n      \"language\": \"cplusplus\",\n      \"name\": \"Cocos2d-x C++ Implementation\"\n    }\n  ]\n}\n[/block]","excerpt":"","slug":"widgets-checkbox","type":"basic","title":"[Widgets] CheckBox"}

[Widgets] CheckBox


[block:api-header] { "type": "basic", "title": "Adding A CheckBox" } [/block] Drag a CheckBox from the Widgets section onto the middle canvas. [block:image] { "images": [ { "image": [ "https://files.readme.io/7SISYaHBRHOnENUWMACV_Screen-Shot-2015-02-21-at-10.58.12.png", "Screen-Shot-2015-02-21-at-10.58.12.png", "257", "273", "", "" ] } ] } [/block] [block:api-header] { "type": "basic", "title": "Selecting The CheckBox" } [/block] You can select the CheckBox if it isn't already selected from the **Animation Editor** at the bottom. The CheckBox doesn't appear in the resources as it's part of the Scene or other object that you are using. [block:image] { "images": [ { "image": [ "https://files.readme.io/XtujbqSziDxZveuYnVzg_Screen-Shot-2015-02-21-at-10.58.45.png", "Screen-Shot-2015-02-21-at-10.58.45.png", "251", "333", "#1074f1", "" ] } ] } [/block] [block:api-header] { "type": "basic", "title": "Changing The CheckBox" } [/block] You can change the properties of the CheckBox in the Properties section. Setting the images can be done by double clicking on a state or dragging an image from the Resources section. You can also set whether or not the CheckBox is selected by default. [block:image] { "images": [ { "image": [ "https://files.readme.io/jeGUdikBS1CtJY0mVNzy_Screen%20Shot%202015-02-21%20at%2010.58.25.png", "Screen Shot 2015-02-21 at 10.58.25.png", "355", "259", "#5a7fb3", "" ] } ] } [/block] [block:api-header] { "type": "basic", "title": "Accessing The CheckBox In Code" } [/block] CheckBox's can be accessed via their **Name** or **Tag** which can be set in the **Properties** section. [block:image] { "images": [ { "image": [ "https://files.readme.io/EJTbyGDtQ4OTe1y3dFn6_Screen%20Shot%202015-02-21%20at%2010.59.15.png", "Screen Shot 2015-02-21 at 10.59.15.png", "352", "88", "#7498bc", "" ] } ] } [/block] To access the CheckBox from a scene for example, in code it is simple. You either access it as a **Node** or cast it to a **CheckBox** allowing you to use **CheckBox** methods along with **Node** methods. [block:code] { "codes": [ { "code": "Node *rootNode = CSLoader::createNode( \"Filepath to .csb file\" );\nthis->addChild( rootNode );\n\n// checkbox accessed as a node using it's name\nNode *checkbox = rootNode->getChildByName( \"Name set in Cocos Studio\" );\n\n// checkbox cast to a checkbox using it's name\ncocos2d::ui::CheckBox *checkBox = ( cocos2d::ui::CheckBox * )rootNode->getChildByName( \"Name set in Cocos Studio\" );\n\n// checkbox accessed as a node using it's tag\nNode *checkbox = rootNode->getChildByTag( 5 );\n\n// checkbox cast to a checkbox using it's tag\ncocos2d::ui::CheckBox *checkBox = ( cocos2d::ui::CheckBox * )rootNode->getChildByTag( 5 );", "language": "cplusplus", "name": "Cocos2d-x C++" }, { "code": "var rootNode = ccs.load( \"Filepath to .json file\" );\nthis.addChild( rootNode.node );\n\n// get the checkbox by name\nvar checkbox = rootNode.node.getChildByName( \"Name set in Cocos Studio\" );\n\n// get the checkbox by tag\nvar checkbox = rootNode.node.getChildByTag( 5 );", "language": "javascript", "name": "Cocos2d-JS" } ] } [/block] Note: *Cocos2d-JS doesn't require casting to use CheckBox methods.* ATM the CheckBox does nothing, we need to attach an event listener so we can detect when the user has interacted with the CheckBox. [block:code] { "codes": [ { "code": "void selectedEvent( Ref *sender, cocos2d::ui::CheckBox::EventType type );", "language": "cplusplus", "name": "Cocos2d-x C++ Header" }, { "code": "// this is the object that was cast to a checkbox\ncheckBox->addEventListener( CC_CALLBACK_2( ClassName::selectedEvent, this ) );\n\n// this is called when the user interacts with the checkbox\nvoid ClassName::selectedEvent( Ref *sender, cocos2d::ui::CheckBox::EventType type )\n{\n switch (type)\n {\n case cocos2d::ui::CheckBox::EventType::SELECTED:\n // code for when the checkbox has been clicked and is now selected (binary 1)\n\n \t\t\tbreak;\n \n case cocos2d::ui::CheckBox::EventType::UNSELECTED:\n // code for when the checkbox has been clicked and is now not selected (binary 0)\n \n break;\n \n default:\n \n break;\n }", "language": "cplusplus", "name": "Cocos2d-x C++ Implementation" } ] } [/block]