cocos2d-x之加法计算器

bool HelloWorld::init()

{

if ( !Layer::init() )

{

return false;

}

Size visibleSize = Director::getInstance()->getVisibleSize();

Vec2 origin = Director::getInstance()->getVisibleOrigin();

buildUI();

addListeners();

return true;

}

void HelloWorld::buildUI(){

aTF=TextFieldTTF::textFieldWithPlaceHolder("Value","Courier",16);

aTF->setPosition(100,300);

addChild(aTF);

auto addLabel=Label::create();

addLabel->setString("+");

addChild(addLabel);

addLabel->setPosition(aTF->getPositionX()+50,aTF->getPositionY());

bTF=TextFieldTTF::textFieldWithPlaceHolder("Value","Courier",16);

bTF->setPosition(addLabel->getPositionX()+50,aTF->getPositionY());

addChild(bTF);

auto equalLabel=Label::create();

equalLabel->setString("=");

addChild(equalLabel);

equalLabel->setPosition(bTF->getPositionX()+50,aTF->getPositionY());

resultLabel=Label::create();

addChild(resultLabel);

resultLabel->setPosition(equalLabel->getPositionX()+50,aTF->getPositionY());

addBtn=Label::create();

addBtn->setString("Add");

addBtn->setSystemFontSize(16);

addChild(addBtn);

addBtn->setPosition(aTF->getPositionX(),aTF->getPositionY()-50);

}

void HelloWorld::addListeners(){

auto director=Director::getInstance();

auto handler=[=](Touch *t,Event *e){

auto target=e->getCurrentTarget();

if (target->getBoundingBox().containsPoint(t->getLocation())) {

if (aTF==target) {

aTF->attachWithIME();

}else if(bTF==target){

bTF->attachWithIME();

}else if (target==addBtn){

int a=__String::create(aTF->getString())->intValue();

int b=__String::create(bTF->getString())->intValue();

resultLabel->setString(StringUtils::format("%d",a+b));

}

}

return false;

};

auto addListenerToTarget=[director,handler](Node *target){

auto l=EventListenerTouchOneByOne::create();

l->onTouchBegan=handler;

director->getEventDispatcher()->addEventListenerWithSceneGraphPriority(l,target);

};

addListenerToTarget(addBtn);

addListenerToTarget(aTF);

addListenerToTarget(bTF);

//    auto addListener=EventListenerTouchOneByOne::create();

//    addListener->onTouchBegan=handler;

//    director->getEventDispatcher()->addEventListenerWithSceneGraphPriority(addListener,addBtn);

//

//    auto aTfClickListener=EventListenerTouchOneByOne::create();

//    aTfClickListener->onTouchBegan=handler;

//    director->getEventDispatcher()->addEventListenerWithSceneGraphPriority(aTfClickListener,aTF);

//

//    auto bTfClickListener=EventListenerTouchOneByOne::create();

//    bTfClickListener->onTouchBegan=handler;

//    director->getEventDispatcher()->addEventListenerWithSceneGraphPriority(bTfClickListener,bTF);

}

时间: 2024-10-10 13:49:07

cocos2d-x之加法计算器的相关文章

objective-c 一个链式加法计算器实现

一个链式加法计算器实现思路 1.使用时的效果 Calculate * manger=[Calculate new]; int result=manger.add(123).add(123).sub(123).result; 输出结果为:result:123 2.实现方法 新建Calculate类: 添加一个属性@property(nonatomic,assign) int result,作为计算结果: 因为使用的方式为 result=manger.add(123).add(123).sub(12

js之简单加法计算器

在页面中做了一个简单的加法计算器,实现实时计算输入的数值: <!DOCTYPE HTML> <html> <head> <script type="text/javascript" src="jquery-3.2.1.js"></script> <script type="text/javascript"> $(document).ready( function(){ //定

python之路-利用索引切片功能做一个简易的两个未知数的加法计算器,代码如下:

python之路-利用索引切片功能做一个简易的两个未知数的加法计算器,代码如下: #content = input('请输入内容:'),如用户输入:5 +9或 5 + 9 等,然后进行分割再进行计算. content = input('>>>').strip() #content 等于所输入的内容,strip:删除字符串左右两边的空格. index = content.find('+') ''' content内容中的两边的空格都删除了,但中间还有,现在我们只需要定位已知内容是加法,两边

学习笔记--Maven+Eclipse Java EE实例:加法计算器

环境配置 所需软件:Maven.Eclipse-mars.jdk1.7(本次所用软件皆为绿色版,无需安装). 解压Maven.Eclipse-mars.jdk1.7,集中到一个文件夹方便管理,例如笔者本次将所有软件.文件集中到X:\jee文件夹中. 以上相当于省去了安装的过程和不必要的麻烦,接下来还得做一些更改.在eclipse的配置文件eclipse.ini,修改虚拟机路径,在-vmargs之前添加-vm X:\jee\jdk1.7\bin\javaw.exe(X为你的盘符). 注意:用写字板

A2第10节赋值运算符和实现加法计算器

第二章第10节1.左边只能有一个变量,而且左边必须是变量2.计算器WinForm 1,拖控件(一个button .两个label.两个textbox) 2,对button双击写事件 3,result 4,获得输入的文本信息 5,选中button按钮,切换到闪电标志选中click 6,对click事件写方法 7, { string s1=txtNum1.Text; string s2=txtNum2.Text; string s=s1+s2; labelResult.Text=s; } 8,将输入

单片机课程设计-四位加法计算器设计参考程序(c语言)

1 #include<reg52.h> 2 typedef unsigned char uint8; 3 typedef unsigned int uint16; 4 5 sbit rw=P2^5; 6 sbit rs=P2^6; 7 sbit e=P2^7; 8 sbit led=P3^7; 9 10 uint8 key,num,ei,eii,p; 11 uint8 fuhao;//定义具体的那个符号,是加减还是乘除. 12 uint8 flag; //定义有没有按下符号键,这个是统称 13

实现正整数的加法计算器

实现两个数相加的计算器 content = input('请输入你要相加的内容,如:3+4:').replace(' ', '') # 去掉输入内容中空格 lst = content.split('+') # 使用+对字符串进行切割 得到的只有两个元素的列表 a = lst[0] # 获取第一个元素 b = lst[1] # 获取第二个元素 print(int(a) + int(b)) # 计算两个数相加的和 实现多个数相加的计算器 content = input('请输入你要相加的内容,如:3

iOS UI基础-1.0加法计算器

1.打开Xcode,新建一个项目 2.Single View Application是最适合初学者的模板 3.填写该应用相关信息 4.搭建UI界面 项目创建完毕后,自动帮我们做了很多配置,也自动生成了很多文件 还自动添加了开发所依赖的框架 项目中这么多文件,哪些是影响着UI界面的呢?在iOS5之前,苹果使用xib文件来描述UI界面,在iOS5之后,苹果采取了更加强大和先进的storyboard文件来描述界面(Xcode5是基于iOS7的)因此,可以得出结论:修改项目中的Main.storyboa

开发进阶02_加法计算器

ios 5.0 开始,storyboard文件描述软件界面 UIView 1.在屏幕上,能看得见.摸得着的东西都是UIView,比如按钮.图片.文字等,所有控件最终都继承自UIView 2.每一个UIView都是一个容器,可以容纳其他UIView 3.下图右边白色的大的UIView里面就容纳了很多小的UIView 4.我们可以称为白色的大UIView容纳了6个子UIView 5.白色的大UIView称为6个子UIView的父UIView(父控件\父视图) UIViewController 一般情