cocos2d 自带算法

cocos2d 自带算法,第1张

概述/** @def CCRANDOM_MINUS1_1 returns a random float between -1 and 1返回一个随机漂浮在-1和1之间的随机数 */#define CCRANDOM_MINUS1_1() ((2.0f*((float)rand()/RAND_MAX))-1.0f)/** @def CCRANDOM_0_1 returns a random f
/**@defCCRANDOM_MINUS1_1returnSarandomfloatbetween-1and1返回一个随机漂浮在-1和1之间的随机数*/#defineCCRANDOM_MINUS1_1()((2.0f*((float)rand()/RAND_MAX))-1.0f)/**@defCCRANDOM_0_1returnSarandomfloatbetween0and1返回一个随机漂浮在0和1之间的随机数*/#defineCCRANDOM_0_1()((float)rand()/RAND_MAX)/**@defCC_degrees_TO_radiansconvertsdegreestoradians将度转换为弧度*/#defineCC_degrees_TO_radians(__ANGLE__)((__ANGLE__)*0.01745329252f)//PI/180/**@defCC_radians_TO_degreesconvertsradianstodegrees将弧度转换成度*/#defineCC_radians_TO_degrees(__ANGLE__)((__ANGLE__)*57.29577951f)//PI*180*************************************************************************************/**HelpermacrothatcreatesaVec2@[email protected]*/CC_DEPRECATED_ATTRIBUTEinlineVec2ccp(floatx,floaty){returnVec2(x,y);}/**Returnsoppositeofpoint.@[email protected]@deprecatedpleaseuseVec2::-,forexample:-v1*/CC_DEPRECATED_ATTRIBUTEstaticinlineVec2ccpNeg(constVec2&v){return-v;}/**Calculatessumoftwopoints.@[email protected]@deprecatedpleaseuseVec2::+,forexample:v1+v2*/CC_DEPRECATED_ATTRIBUTEstaticinlineVec2ccpAdd(constVec2&v1,constVec2&v2){returnv1+v2;}/**Calculatesdifferenceoftwopoints.@[email protected]@deprecatedpleaseuseVec2::-,forexample:v1-v2*/CC_DEPRECATED_ATTRIBUTEstaticinlineVec2ccpsub(constVec2&v1,constVec2&v2){returnv1-v2;}/**ReturnspointmultiplIEdbygivenfactor.@[email protected]@deprecatedpleaseuseVec2::*,forexample:v1*v2*/CC_DEPRECATED_ATTRIBUTEstaticinlineVec2ccpMult(constVec2&v,constfloats){returnv*s;}/**CalculatesmIDpointbetweentwopoints.@[email protected]@deprecatedpleaseuseitlike(v1+v2)/2.0f*/CC_DEPRECATED_ATTRIBUTEstaticinlineVec2ccpMIDpoint(constVec2&v1,constVec2&v2){returnv1.getMIDpoint(v2);}/**Calculatesdotproductoftwopoints.@[email protected]*/CC_DEPRECATED_ATTRIBUTEstaticinlinefloatccpDot(constVec2&v1,constVec2&v2){returnv1.dot(v2);}/**Calculatescrossproductoftwopoints.@[email protected]*/CC_DEPRECATED_ATTRIBUTEstaticinlinefloatccpCross(constVec2&v1,constVec2&v2){returnv1.cross(v2);}/**Calculatesperpendicularofv,rotated90degreescounter-clockwise--cross(v,perp(v))>=0@[email protected]*/CC_DEPRECATED_ATTRIBUTEstaticinlineVec2ccpPerp(constVec2&v){returnv.getPerp();}/**Calculatesperpendicularofv,rotated90degreesclockwise--cross(v,rperp(v))<=0@[email protected]*/CC_DEPRECATED_ATTRIBUTEstaticinlineVec2ccpRPerp(constVec2&v){returnv.getRPerp();}/**Calculatestheprojectionofv1overv2.@[email protected]*/CC_DEPRECATED_ATTRIBUTEstaticinlineVec2ccpProject(constVec2&v1,constVec2&v2){returnv1.project(v2);}/**Rotatestwopoints.@[email protected]*/CC_DEPRECATED_ATTRIBUTEstaticinlineVec2ccpRotate(constVec2&v1,constVec2&v2){returnv1.rotate(v2);}/**Unrotatestwopoints.@[email protected]*/CC_DEPRECATED_ATTRIBUTEstaticinlineVec2ccpunrotate(constVec2&v1,constVec2&v2){returnv1.unrotate(v2);}/**CalculatesthesquarelengthofaVec2(notcallingsqrt())@[email protected]*/CC_DEPRECATED_ATTRIBUTEstaticinlinefloatccpLengthSQ(constVec2&v){returnv.getLengthSq();}/**Calculatesthesquaredistancebetweentwopoints(notcallingsqrt())@[email protected]*/CC_DEPRECATED_ATTRIBUTEstaticinlinefloatccpdistanceSQ(constVec2p1,constVec2p2){return(p1-p2).getLengthSq();}/**Calculatesdistancebetweenpointanorigin@[email protected]*/CC_DEPRECATED_ATTRIBUTEstaticinlinefloatccpLength(constVec2&v){returnv.getLength();}/**Calculatesthedistancebetweentwopoints@[email protected]*/CC_DEPRECATED_ATTRIBUTEstaticinlinefloatccpdistance(constVec2&v1,constVec2&v2){returnv1.getdistance(v2);}/**ReturnspointmultiplIEdtoalengthof1.@[email protected]*/CC_DEPRECATED_ATTRIBUTEstaticinlineVec2ccpnormalize(constVec2&v){returnv.getnormalized();}/**Convertsradianstoanormalizedvector.将弧度转换为归一化向量。@[email protected]*/CC_DEPRECATED_ATTRIBUTEstaticinlineVec2ccpForAngle(constfloata){returnVec2::forAngle(a);}/**Convertsavectortoradians.向量转换为弧度。@[email protected]*/CC_DEPRECATED_ATTRIBUTEstaticinlinefloatccpToAngle(constVec2&v){returnv.getAngle();}/**[email protected]*/CC_DEPRECATED_ATTRIBUTEstaticinlineVec2ccpClamp(constVec2&p,constVec2&from,constVec2&to){returnp.getClampPoint(from,to);}/**[email protected]*/CC_DEPRECATED_ATTRIBUTEstaticinlineVec2ccpFromSize(constSize&s){returnVec2(s);}/**Runamathoperationfunctiononeachpointcomponent*absf,fllorf,ceilf,roundf*anyfunctionthathasthesignature:floatfunc(float);*Forexample:let'strytotakethefloorofx,y*ccpCompOp(p,floorf);@sincev0.99.1*/CC_DEPRECATED_ATTRIBUTEstaticinlineVec2ccpCompOp(constVec2&p,float(*opFunc)(float)){returnp.compOp(opFunc);}/**linearInterpolationbetweentwopointsaandb@returnsAlpha==0?aAlpha==1?botherwiseavaluebetweena..b@sincev0.99.1*/CC_DEPRECATED_ATTRIBUTEstaticinlineVec2ccpLerp(constVec2&a,constVec2&b,floatAlpha){returna.lerp(b,Alpha);}/**@returnsifpointshavefuzzyequalitywhichmeansequalwithsomedegreeofvariance.@sincev0.99.1*/CC_DEPRECATED_ATTRIBUTEstaticinlineboolccpFuzzyEqual(constVec2&a,floatvariance){returna.fuzzyEquals(b,variance);}/**MultiplIEsaandbcomponents,a.x*b.x,a.y*b.y@[email protected]*/CC_DEPRECATED_ATTRIBUTEstaticinlineVec2ccpCompMult(constVec2&a,constVec2&b){returnVec2(a.x*b.x,a.y*b.y);}/**@returnsthesignedangleinradiansbetweentwovectordirections@sincev0.99.1*/CC_DEPRECATED_ATTRIBUTEstaticinlinefloatccpAngleSigned(constVec2&a,constVec2&b){returna.getAngle(b);}/**@[email protected]*/CC_DEPRECATED_ATTRIBUTEstaticinlinefloatccpAngle(constVec2&a,constVec2&b){returna.getAngle(b);}/**RotatesapointcounterclockwisebytheanglearoundAPIvot@paramvisthepointtorotate@parampivotisthepivot,naturally@paramangleistheangleofrotationcwinradians@[email protected]*/CC_DEPRECATED_ATTRIBUTEstaticinlineVec2ccpRotateByAngle(constVec2&v,constVec2&pivot,floatangle){returnv.rotateByAngle(pivot,angle);}/**Ageneralline-lineintersectiontest@paramp1isthestartpointforthefirstlineP1=(p1-p2)@paramp2istheendpointforthefirstlineP1=(p1-p2)@paramp3isthestartpointforthesecondlineP2=(p3-p4)@paramp4istheendpointforthesecondlineP2=(p3-p4)@paramsistherangeforahitpointinP1(pa=p1+s*(p2-p1))@paramtistherangeforahitpointinP3(pa=p2+t*(p4-p3))@returnboolindicatingsuccessfulintersectionofalinenotethattotrulytestintersectionforsegmentswehavetomakesurethats&tlIEwithin[0..1]andforrays,makesures&t>0thehitpointisp3+t*(p4-p3);thehitpointalsoisp1+s*(p2-p1);@sincev0.99.1*/CC_DEPRECATED_ATTRIBUTEstaticinlineboolccplineIntersect(constVec2&p1,constVec2&p2,constVec2&p3,constVec2&p4,float*s,float*t){returnVec2::islineIntersect(p1,p2,p3,p4,s,t);}/*ccpsegmentIntersectreturnstrueifSegmentA-BintersectswithsegmentC-D@sincev1.0.0*/CC_DEPRECATED_ATTRIBUTEstaticinlineboolccpsegmentIntersect(constVec2&A,constVec2&B,constVec2&C,constVec2&D){returnVec2::isSegmentIntersect(A,B,C,D);}/*ccpIntersectPointreturnstheintersectionpointoflineA-B,[email protected]*/CC_DEPRECATED_ATTRIBUTEstaticinlineVec2ccpIntersectPoint(constVec2&A,constVec2&B,constVec2&D){returnVec2::getIntersectPoint(A,D);}CC_DEPRECATED_ATTRIBUTEinlineVec2CCPointMake(floatx,y);}CC_DEPRECATED_ATTRIBUTEinlinesizeCCSizeMake(floatwIDth,floatheight){returnSize(wIDth,height);}CC_DEPRECATED_ATTRIBUTEinlineRectCCRectMake(floatx,floaty,floatwIDth,floatheight){returnRect(x,y,wIDth,height);}
总结

以上是内存溢出为你收集整理的cocos2d 自带算法全部内容,希望文章能够帮你解决cocos2d 自带算法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/1031167.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存