加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos2d一些注意事项及vector删除对象的方法

发布时间:2020-12-14 20:15:41 所属栏目:百科 来源:网络整理
导读:convertToNodeSpace不考虑scale的影响 setContentSize只设置内容大小,影响之后的锚点位置,但是不影响绘制效果。超过contentSize的部分继续绘制 setTextureRect(Rect)比前者多了剪裁功能;setTextureRect(CCRectMake(1,2,3,4)); 从sprite左上角为起点,x=

convertToNodeSpace不考虑scale的影响

setContentSize只设置内容大小,影响之后的锚点位置,但是不影响绘制效果。超过contentSize的部分继续绘制

setTextureRect(Rect)比前者多了剪裁功能;setTextureRect(CCRectMake(1,2,3,4));

从sprite左上角为起点,x=1,y=2,剪裁width=3,height=4的矩形,作为新的图像建立sprite


关于get:http://www.wosoni.com/wosoniblog/gamecocos2dx/article/details/40423591.html


vector删除对象的方法:

	for (int i = 0; i < enemys->size(); i++){
		auto enemy = static_cast <Enemy*>(enemys->at(i));
		int armSerial = map->getArmSerialNum(enemy->getPosition());
		if (armSerial != 0){
			auto arm = static_cast <Arm*>(arms->at(armSerial - 1));
			if (enemy->enableDamege(time,arm->getDispersedTime())){
				enemy->getEnemyBase()->plusCurrentBlood(arm->getDamage());
			}
		}
		if (enemy->updataState()){
			//deadEnemy.pushBack(enemy);
			enemys->erase(i);
			enemy->deadAction();
			i--;         //每删除一个i--
		}
	}
	for (int i = 0,j=0; i < ARMNUM; i++,j++){
		_levelArmLimit[i] = levelArmLimit[i];
		if (_levelArmLimit[i] == 0){
			_listView->removeItem(j);
			j--;
		}
	}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读