1. Call in Layer:
Setkeypadenabled (true );
Override the following two methods in Layer:
Virtual void keybackclicked ();
Virtual void keymenuclicked ();
Void cbaselayer: keybackclicked ()
{
Int imanscenetag = ccdirector: shareddire()-> getrunningscene ()-> gettag (); // exit if the scenario is active.
If (main_scene_tag = imanscenetag)
{
Ccdirector: shareddirector ()-> end ();
# If (cc_target_platform = cc_platform_ios)
Exit (0 );
# Endif
}
}
Void cbaselayer: keymenuclicked ()
{
}
The above cbaselayer is the base class of all layers that need to respond to the Return key event, avoiding the need to write the same code for all layers.
2. You can also derive the subclass of cckeypaddelegate and register it as a delegate call for Keyboard Events.
Class mykeypaddelegate: Public cckeypaddelegate
{
Public:
Virtual void keybackclicked ();
Virtual void keymenuclicked ();
};
M_pkeypaddlegate = new mykeypaddelegate ();
Pdirector-> getkeypaddispatcher ()-> adddelegate (m_pkeypaddlegate );
In this way, you can respond to Keyboard Events globally.
Cclayer is also inherited from cckeypaddelegate
Reprinted from: http://blog.csdn.net/lamp_zy/article/details/8210303