12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432 |
- var cc = cc || {};
- cc._tmp = cc._tmp || {};
- cc._LogInfos = {};
- _p = window;
- _p = Object.prototype;
- delete window._p;
- cc.newElement = function (a) {
- return document.createElement(a)
- };
- cc._addEventListener = function (a, b, c, d) {
- a.addEventListener(b, c, d)
- };
- cc._isNodeJs = "undefined" !== typeof require && require("fs");
- cc.each = function (a, b, c) {
- if (a) if (a instanceof Array) for (var d = 0, e = a.length; d < e && !1 !== b.call(c, a[d], d) ; d++);
- else for (d in a) if (!1 === b.call(c, a[d], d)) break
- };
- cc.extend = function (a) {
- var b = 2 <= arguments.length ? Array.prototype.slice.call(arguments, 1) : [];
- cc.each(b,
- function (b) {
- for (var d in b) b.hasOwnProperty(d) && (a[d] = b[d])
- });
- return a
- };
- cc.isFunction = function (a) {
- return "function" == typeof a
- };
- cc.isNumber = function (a) {
- return "number" == typeof a || "[object Number]" == Object.prototype.toString.call(a)
- };
- cc.isString = function (a) {
- return "string" == typeof a || "[object String]" == Object.prototype.toString.call(a)
- };
- cc.isArray = function (a) {
- return "[object Array]" == Object.prototype.toString.call(a)
- };
- cc.isUndefined = function (a) {
- return "undefined" == typeof a
- };
- cc.isObject = function (a) {
- var b = typeof a;
- return "function" == b || a && "object" == b
- };
- cc.isCrossOrigin = function (a) {
- if (!a) return cc.log("invalid URL"),
- !1;
- var b = a.indexOf("://");
- if (-1 == b) return !1;
- b = a.indexOf("/", b + 3);
- return (-1 == b ? a : a.substring(0, b)) != location.origin
- };
- cc.AsyncPool = function (a, b, c, d, e) {
- var f = this;
- f._srcObj = a;
- f._limit = b;
- f._pool = [];
- f._iterator = c;
- f._iteratorTarget = e;
- f._onEnd = d;
- f._onEndTarget = e;
- f._results = a instanceof Array ? [] : {};
- f._isErr = !1;
- cc.each(a,
- function (a, b) {
- f._pool.push({
- index: b,
- value: a
- })
- });
- f.size = f._pool.length;
- f.finishedSize = 0;
- f._workingSize = 0;
- f._limit = f._limit || f.size;
- f.onIterator = function (a, b) {
- f._iterator = a;
- f._iteratorTarget = b
- };
- f.onEnd = function (a, b) {
- f._onEnd = a;
- f._onEndTarget = b
- };
- f._handleItem = function () {
- var a = this;
- if (0 != a._pool.length && !(a._workingSize >= a._limit)) {
- var b = a._pool.shift(),
- c = b.value,
- d = b.index;
- a._workingSize++;
- a._iterator.call(a._iteratorTarget, c, d,
- function (b) {
- if (!a._isErr) if (a.finishedSize++, a._workingSize--, b) a._isErr = !0,
- a._onEnd && a._onEnd.call(a._onEndTarget, b);
- else {
- var c = Array.prototype.slice.call(arguments, 1);
- a._results[this.index] = c[0];
- a.finishedSize == a.size ? a._onEnd && a._onEnd.call(a._onEndTarget, null, a._results) : a._handleItem()
- }
- }.bind(b), a)
- }
- };
- f.flow = function () {
- if (0 == this._pool.length) this._onEnd && this._onEnd.call(this._onEndTarget, null, []);
- else for (var a = 0; a < this._limit; a++) this._handleItem()
- }
- };
- cc.async = {
- series: function (a, b, c) {
- a = new cc.AsyncPool(a, 1,
- function (a, b, f) {
- a.call(c, f)
- },
- b, c);
- a.flow();
- return a
- },
- parallel: function (a, b, c) {
- a = new cc.AsyncPool(a, 0,
- function (a, b, f) {
- a.call(c, f)
- },
- b, c);
- a.flow();
- return a
- },
- waterfall: function (a, b, c) {
- var d = [];
- a = new cc.AsyncPool(a, 1,
- function (a, b, g) {
- d.push(function (a) {
- d = Array.prototype.slice.call(arguments, 1);
- g.apply(null, arguments)
- });
- a.apply(c, d)
- },
- function (a, d) {
- if (b) {
- if (a) return b.call(c, a);
- b.call(c, null, d[d.length - 1])
- }
- });
- a.flow();
- return a
- },
- map: function (a, b, c, d) {
- var e = b;
- "object" == typeof b && (c = b.cb, d = b.iteratorTarget, e = b.iterator);
- a = new cc.AsyncPool(a, 0, e, c, d);
- a.flow();
- return a
- },
- mapLimit: function (a, b, c, d, e) {
- a = new cc.AsyncPool(a, b, c, d, e);
- a.flow();
- return a
- }
- };
- cc.path = {
- join: function () {
- for (var a = arguments.length, b = "", c = 0; c < a; c++) b = (b + ("" == b ? "" : "/") + arguments[c]).replace(/(\/|\\\\)$/, "");
- return b
- },
- extname: function (a) {
- return (a = /(\.[^\.\/\?\\]*)(\?.*)?$/.exec(a)) ? a[1] : null
- },
- mainFileName: function (a) {
- if (a) {
- var b = a.lastIndexOf(".");
- if (-1 !== b) return a.substring(0, b)
- }
- return a
- },
- basename: function (a, b) {
- var c = a.indexOf("?");
- 0 < c && (a = a.substring(0, c));
- c = /(\/|\\\\)([^(\/|\\\\)]+)$/g.exec(a.replace(/(\/|\\\\)$/, ""));
- if (!c) return null;
- c = c[2];
- return b && a.substring(a.length -
- b.length).toLowerCase() == b.toLowerCase() ? c.substring(0, c.length - b.length) : c
- },
- dirname: function (a) {
- return a.replace(/((.*)(\/|\\|\\\\))?(.*?\..*$)?/, "$2")
- },
- changeExtname: function (a, b) {
- b = b || "";
- var c = a.indexOf("?"),
- d = "";
- 0 < c && (d = a.substring(c), a = a.substring(0, c));
- c = a.lastIndexOf(".");
- return 0 > c ? a + b + d : a.substring(0, c) + b + d
- },
- changeBasename: function (a, b, c) {
- if (0 == b.indexOf(".")) return this.changeExtname(a, b);
- var d = a.indexOf("?"),
- e = "";
- c = c ? this.extname(a) : "";
- 0 < d && (e = a.substring(d), a = a.substring(0, d));
- d = a.lastIndexOf("/");
- return a.substring(0, 0 >= d ? 0 : d + 1) + b + c + e
- }
- };
- cc.loader = {
- _jsCache: {},
- _register: {},
- _langPathCache: {},
- _aliases: {},
- resPath: "",
- audioPath: "",
- cache: {},
- getXMLHttpRequest: function () {
- return window.XMLHttpRequest ? new window.XMLHttpRequest : new ActiveXObject("MSXML2.XMLHTTP")
- },
- _getArgs4Js: function (a) {
- var b = a[0],
- c = a[1],
- d = a[2],
- e = ["", null, null];
- if (1 === a.length) e[1] = b instanceof Array ? b : [b];
- else if (2 === a.length) "function" == typeof c ? (e[1] = b instanceof Array ? b : [b], e[2] = c) : (e[0] = b || "", e[1] = c instanceof Array ? c : [c]);
- else if (3 === a.length) e[0] = b || "",
- e[1] = c instanceof
- Array ? c : [c],
- e[2] = d;
- else throw "arguments error to load js!";
- return e
- },
- loadJs: function (a, b, c) {
- var d = this,
- e = d._jsCache,
- f = d._getArgs4Js(arguments),
- g = f[0],
- h = f[1],
- f = f[2]; -1 < navigator.userAgent.indexOf("Trident/5") ? d._loadJs4Dependency(g, h, 0, f) : cc.async.map(h,
- function (a, b, c) {
- a = cc.path.join(g, a);
- if (e[a]) return c(null);
- d._createScript(a, !1, c)
- },
- f)
- },
- loadJsWithImg: function (a, b, c) {
- var d = this._loadJsImg(),
- e = this._getArgs4Js(arguments);
- this.loadJs(e[0], e[1],
- function (a) {
- if (a) throw a;
- d.parentNode.removeChild(d);
- if (e[2]) e[2]()
- })
- },
- _createScript: function (a, b, c) {
- var d = document,
- e = cc.newElement("script");
- e.async = b;
- e.src = a;
- this._jsCache[a] = !0;
- cc._addEventListener(e, "load",
- function () {
- e.parentNode.removeChild(e);
- this.removeEventListener("load", arguments.callee, !1);
- c()
- },
- !1);
- cc._addEventListener(e, "error",
- function () {
- e.parentNode.removeChild(e);
- c("Load " + a + " failed!")
- },
- !1);
- d.body.appendChild(e)
- },
- _loadJs4Dependency: function (a, b, c, d) {
- if (c >= b.length) d && d();
- else {
- var e = this;
- e._createScript(cc.path.join(a, b[c]), !1,
- function (f) {
- if (f) return d(f);
- e._loadJs4Dependency(a, b, c + 1, d)
- })
- }
- },
- _loadJsImg: function () {
- var a = document,
- b = a.getElementById("cocos2d_loadJsImg");
- if (!b) {
- b = cc.newElement("img");
- cc._loadingImage && (b.src = cc._loadingImage);
- a = a.getElementById(cc.game.config.id);
- a.style.backgroundColor = "black";
- a.parentNode.appendChild(b);
- var c = getComputedStyle ? getComputedStyle(a) : a.currentStyle;
- c || (c = {
- width: a.width,
- height: a.height
- });
- b.style.left = a.offsetLeft + (parseFloat(c.width) - b.width) / 2 + "px";
- b.style.top = a.offsetTop + (parseFloat(c.height) - b.height) / 2 + "px";
- b.style.position = "absolute"
- }
- return b
- },
- loadTxt: function (a, b) {
- if (cc._isNodeJs) require("fs").readFile(a,
- function (a, c) {
- a ? b(a) : b(null, c.toString())
- });
- else {
- var c = this.getXMLHttpRequest(),
- d = "load " + a + " failed!";
- c.open("GET", a, !0);
- /msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent) ? (c.setRequestHeader("Accept-Charset", "utf-8"), c.onreadystatechange = function () {
- 4 == c.readyState && (200 == c.status ? b(null, c.responseText) : b(d))
- }) : (c.overrideMimeType && c.overrideMimeType("text/plain; charset\x3dutf-8"), c.onload = function () {
- 4 == c.readyState && (200 == c.status ? b(null, c.responseText) : b(d))
- });
- c.send(null)
- }
- },
- _loadTxtSync: function (a) {
- if (cc._isNodeJs) return require("fs").readFileSync(a).toString();
- var b = this.getXMLHttpRequest();
- b.open("GET", a, !1);
- /msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent) ? b.setRequestHeader("Accept-Charset", "utf-8") : b.overrideMimeType && b.overrideMimeType("text/plain; charset\x3dutf-8");
- b.send(null);
- return 4 == !b.readyState || 200 != b.status ? null : b.responseText
- },
- loadJson: function (a, b) {
- this.loadTxt(a,
- function (c, d) {
- try {
- c ? b(c) : b(null, JSON.parse(d))
- } catch (e) {
- throw "load json [" + a + "] failed : " + e;
- }
- })
- },
- _checkIsImageURL: function (a) {
- return null != /(\.png)|(\.jpg)|(\.bmp)|(\.jpeg)|(\.gif)/.exec(a)
- },
- loadImg: function (a, b, c) {
- var d = {
- isCrossOrigin: !0
- };
- void 0 !== c ? d.isCrossOrigin = null == b.isCrossOrigin ? d.isCrossOrigin : b.isCrossOrigin : void 0 !== b && (c = b);
- var e = new Image;
- d.isCrossOrigin && "file://" != location.origin && (e.crossOrigin = "Anonymous");
- var f = function () {
- this.removeEventListener("load", f, !1);
- this.removeEventListener("error", g, !1);
- c && c(null, e)
- },
- g = function () {
- this.removeEventListener("error", g, !1);
- "anonymous" == e.crossOrigin.toLowerCase() ? (d.isCrossOrigin = !1, cc.loader.loadImg(a, d, c)) : "function" == typeof c && c("load image failed")
- };
- cc._addEventListener(e, "load", f);
- cc._addEventListener(e, "error", g);
- e.src = a;
- return e
- },
- _loadResIterator: function (a, b, c) {
- var d = this,
- e = null,
- f = a.type;
- f ? (f = "." + f.toLowerCase(), e = a.src ? a.src : a.name + f) : (e = a, f = cc.path.extname(e));
- if (b = d.cache[e]) return c(null, b);
- b = d._register[f.toLowerCase()];
- if (!b) return cc.error("loader for [" + f + "] not exists!"),
- c();
- f = b.getBasePath ? b.getBasePath() : d.resPath;
- f = d.getUrl(f, e);
- b.load(f, e, a,
- function (a, b) {
- a ? (cc.log(a), d.cache[e] = null, delete d.cache[e], c()) : (d.cache[e] = b, c(null, b))
- })
- },
- getUrl: function (a, b) {
- var c = this._langPathCache,
- d = cc.path;
- if (void 0 !== a && void 0 === b) {
- b = a;
- var e = d.extname(b),
- e = e ? e.toLowerCase() : "";
- a = (e = this._register[e]) ? e.getBasePath ? e.getBasePath() : this.resPath : this.resPath
- }
- b = cc.path.join(a || "", b);
- if (b.match(/[\/(\\\\)]lang[\/(\\\\)]/i)) {
- if (c[b]) return c[b];
- d = d.extname(b) || "";
- b = c[b] = b.substring(0, b.length - d.length) + "_" + cc.sys.language + d
- }
- return b
- },
- load: function (a, b, c) {
- var d = this,
- e = arguments.length;
- if (0 == e) throw "arguments error!";
- 3 == e ? "function" == typeof b && (b = "function" == typeof c ? {
- trigger: b,
- cb: c
- } : {
- cb: b,
- cbTarget: c
- }) : 2 == e ? "function" == typeof b && (b = {
- cb: b
- }) : 1 == e && (b = {});
- a instanceof Array || (a = [a]);
- e = new cc.AsyncPool(a, 0,
- function (a, c, e, k) {
- d._loadResIterator(a, c,
- function (a) {
- if (a) return e(a);
- var c = Array.prototype.slice.call(arguments, 1);
- b.trigger && b.trigger.call(b.triggerTarget, c[0], k.size, k.finishedSize);
- e(null, c[0])
- })
- },
- b.cb, b.cbTarget);
- e.flow();
- return e
- },
- _handleAliases: function (a, b) {
- var c = this._aliases,
- d = [],
- e;
- for (e in a) {
- var f = a[e];
- c[e] = f;
- d.push(f)
- }
- this.load(d, b)
- },
- loadAliases: function (a, b) {
- var c = this,
- d = c.getRes(a);
- d ? c._handleAliases(d.filenames, b) : c.load(a,
- function (a, d) {
- c._handleAliases(d[0].filenames, b)
- })
- },
- register: function (a, b) {
- if (a && b) {
- if ("string" == typeof a) return this._register[a.trim().toLowerCase()] = b;
- for (var c = 0, d = a.length; c < d; c++) this._register["." + a[c].trim().toLowerCase()] = b
- }
- },
- getRes: function (a) {
- return this.cache[a] || this.cache[this._aliases[a]]
- },
- release: function (a) {
- var b = this.cache,
- c = this._aliases;
- delete b[a];
- delete b[c[a]];
- delete c[a]
- },
- releaseAll: function () {
- var a = this.cache,
- b = this._aliases,
- c;
- for (c in a) delete a[c];
- for (c in b) delete b[c]
- }
- };
- cc.formatStr = function () {
- var a = arguments,
- b = a.length;
- if (1 > b) return "";
- var c = a[0],
- d = !0;
- "object" == typeof c && (d = !1);
- for (var e = 1; e < b; ++e) {
- var f = a[e];
- if (d) for (; ;) {
- var g = null;
- if ("number" == typeof f && (g = c.match(/(%d)|(%s)/))) {
- c = c.replace(/(%d)|(%s)/, f);
- break
- }
- c = (g = c.match(/%s/)) ? c.replace(/%s/, f) : c + (" " + f);
- break
- } else c += " " + f
- }
- return c
- }; (function () {
- var a = window,
- b,
- c;
- cc.isUndefined(document.hidden) ? cc.isUndefined(document.mozHidden) ? cc.isUndefined(document.msHidden) ? cc.isUndefined(document.webkitHidden) || (b = "webkitHidden", c = "webkitvisibilitychange") : (b = "msHidden", c = "msvisibilitychange") : (b = "mozHidden", c = "mozvisibilitychange") : (b = "hidden", c = "visibilitychange");
- var d = function () {
- cc.eventManager && cc.game._eventHide && cc.eventManager.dispatchEvent(cc.game._eventHide)
- },
- e = function () {
- cc.eventManager && cc.game._eventShow && cc.eventManager.dispatchEvent(cc.game._eventShow);
- cc.game._intervalId && (window.cancelAnimationFrame(cc.game._intervalId), cc.game._runMainLoop())
- };
- b ? cc._addEventListener(document, c,
- function () {
- document[b] ? d() : e()
- },
- !1) : (cc._addEventListener(a, "blur", d, !1), cc._addEventListener(a, "focus", e, !1)); -1 < navigator.userAgent.indexOf("MicroMessenger") && (a.onfocus = function () {
- e()
- });
- "onpageshow" in window && "onpagehide" in window && (cc._addEventListener(a, "pagehide", d, !1), cc._addEventListener(a, "pageshow", e, !1));
- c = a = null
- })();
- cc.log = cc.warn = cc.error = cc.assert = function () { };
- cc.create3DContext = function (a, b) {
- for (var c = ["webgl", "experimental-webgl", "webkit-3d", "moz-webgl"], d = null, e = 0; e < c.length; ++e) {
- try {
- d = a.getContext(c[e], b)
- } catch (f) { }
- if (d) break
- }
- return d
- };
- cc._initSys = function (a, b) {
- cc._RENDER_TYPE_CANVAS = 0;
- cc._RENDER_TYPE_WEBGL = 1;
- cc.sys = {};
- var c = cc.sys;
- c.LANGUAGE_ENGLISH = "en";
- c.LANGUAGE_CHINESE = "zh";
- c.LANGUAGE_FRENCH = "fr";
- c.LANGUAGE_ITALIAN = "it";
- c.LANGUAGE_GERMAN = "de";
- c.LANGUAGE_SPANISH = "es";
- c.LANGUAGE_DUTCH = "du";
- c.LANGUAGE_RUSSIAN = "ru";
- c.LANGUAGE_KOREAN = "ko";
- c.LANGUAGE_JAPANESE = "ja";
- c.LANGUAGE_HUNGARIAN = "hu";
- c.LANGUAGE_PORTUGUESE = "pt";
- c.LANGUAGE_ARABIC = "ar";
- c.LANGUAGE_NORWEGIAN = "no";
- c.LANGUAGE_POLISH = "pl";
- c.OS_WINDOWS = "Windows";
- c.OS_IOS = "iOS";
- c.OS_OSX = "OS X";
- c.OS_UNIX = "UNIX";
- c.OS_LINUX = "Linux";
- c.OS_ANDROID = "Android";
- c.OS_UNKNOWN = "Unknown";
- c.WINDOWS = 0;
- c.LINUX = 1;
- c.MACOS = 2;
- c.ANDROID = 3;
- c.IPHONE = 4;
- c.IPAD = 5;
- c.BLACKBERRY = 6;
- c.NACL = 7;
- c.EMSCRIPTEN = 8;
- c.TIZEN = 9;
- c.WINRT = 10;
- c.WP8 = 11;
- c.MOBILE_BROWSER = 100;
- c.DESKTOP_BROWSER = 101;
- c.BROWSER_TYPE_WECHAT = "wechat";
- c.BROWSER_TYPE_ANDROID = "androidbrowser";
- c.BROWSER_TYPE_IE = "ie";
- c.BROWSER_TYPE_QQ = "qqbrowser";
- c.BROWSER_TYPE_MOBILE_QQ = "mqqbrowser";
- c.BROWSER_TYPE_UC = "ucbrowser";
- c.BROWSER_TYPE_360 = "360browser";
- c.BROWSER_TYPE_BAIDU_APP = "baiduboxapp";
- c.BROWSER_TYPE_BAIDU = "baidubrowser";
- c.BROWSER_TYPE_MAXTHON = "maxthon";
- c.BROWSER_TYPE_OPERA = "opera";
- c.BROWSER_TYPE_OUPENG = "oupeng";
- c.BROWSER_TYPE_MIUI = "miuibrowser";
- c.BROWSER_TYPE_FIREFOX = "firefox";
- c.BROWSER_TYPE_SAFARI = "safari";
- c.BROWSER_TYPE_CHROME = "chrome";
- c.BROWSER_TYPE_UNKNOWN = "unknown";
- c.isNative = !1;
- var d = [c.BROWSER_TYPE_BAIDU, c.BROWSER_TYPE_OPERA, c.BROWSER_TYPE_FIREFOX, c.BROWSER_TYPE_CHROME, c.BROWSER_TYPE_SAFARI],
- e = [c.BROWSER_TYPE_BAIDU, c.BROWSER_TYPE_OPERA, c.BROWSER_TYPE_FIREFOX, c.BROWSER_TYPE_CHROME, c.BROWSER_TYPE_BAIDU_APP, c.BROWSER_TYPE_SAFARI, c.BROWSER_TYPE_UC, c.BROWSER_TYPE_QQ, c.BROWSER_TYPE_MOBILE_QQ, c.BROWSER_TYPE_IE],
- f = window,
- g = f.navigator,
- h = document.documentElement,
- k = g.userAgent.toLowerCase();
- c.isMobile = -1 != k.indexOf("mobile") || -1 != k.indexOf("android");
- c.platform = c.isMobile ? c.MOBILE_BROWSER : c.DESKTOP_BROWSER;
- var m = g.language,
- m = (m = m ? m : g.browserLanguage) ? m.split("-")[0] : c.LANGUAGE_ENGLISH;
- c.language = m;
- var m = c.BROWSER_TYPE_UNKNOWN,
- n = k.match(/micromessenger|qqbrowser|mqqbrowser|ucbrowser|360browser|baiduboxapp|baidubrowser|maxthon|trident|oupeng|opera|miuibrowser|firefox/i) || k.match(/chrome|safari/i);
- n && 0 < n.length && (m = n[0].toLowerCase(), "micromessenger" == m ? m = c.BROWSER_TYPE_WECHAT : "safari" === m && k.match(/android.*applewebkit/) ? m = c.BROWSER_TYPE_ANDROID : "trident" == m && (m = c.BROWSER_TYPE_IE));
- c.browserType = m;
- c._supportMultipleAudio = -1 < e.indexOf(c.browserType);
- e = parseInt(a[b.renderMode]);
- m = cc._RENDER_TYPE_WEBGL;
- n = cc.newElement("Canvas");
- cc._supportRender = !0;
- d = -1 == d.indexOf(c.browserType);
- if (1 === e || 0 === e && (c.isMobile || d) || "file://" == location.origin) m = cc._RENDER_TYPE_CANVAS;
- c._canUseCanvasNewBlendModes = function () {
- var a = document.createElement("canvas");
- a.width = 1;
- a.height = 1;
- a = a.getContext("2d");
- a.fillStyle = "#000";
- a.fillRect(0, 0, 1, 1);
- a.globalCompositeOperation = "multiply";
- var b = document.createElement("canvas");
- b.width = 1;
- b.height = 1;
- var c = b.getContext("2d");
- c.fillStyle = "#fff";
- c.fillRect(0, 0, 1, 1);
- a.drawImage(b, 0, 0, 1, 1);
- return 0 === a.getImageData(0, 0, 1, 1).data[0]
- };
- c._supportCanvasNewBlendModes = c._canUseCanvasNewBlendModes();
- m != cc._RENDER_TYPE_WEBGL || f.WebGLRenderingContext && cc.create3DContext(n, {
- stencil: !0,
- preserveDrawingBuffer: !0
- }) || (0 == e ? m = cc._RENDER_TYPE_CANVAS : cc._supportRender = !1);
- if (m == cc._RENDER_TYPE_CANVAS) try {
- n.getContext("2d")
- } catch (q) {
- cc._supportRender = !1
- }
- cc._renderType = m;
- try {
- c._supportWebAudio = !!new (f.AudioContext || f.webkitAudioContext || f.mozAudioContext)
- } catch (r) {
- c._supportWebAudio = !1
- }
- try {
- var s = c.localStorage = f.localStorage;
- s.setItem("storage", "");
- s.removeItem("storage");
- s = null
- } catch (t) {
- "SECURITY_ERR" !== t.name && "QuotaExceededError" !== t.name || cc.warn("Warning: localStorage isn't enabled. Please confirm browser cookie or privacy option"),
- c.localStorage = function () { }
- }
- s = c.capabilities = {
- canvas: !0
- };
- cc._renderType == cc._RENDER_TYPE_WEBGL && (s.opengl = !0);
- if (void 0 !== h.ontouchstart || g.msPointerEnabled) s.touches = !0;
- void 0 !== h.onmouseup && (s.mouse = !0);
- void 0 !== h.onkeyup && (s.keyboard = !0);
- if (f.DeviceMotionEvent || f.DeviceOrientationEvent) s.accelerometer = !0;
- f = k.match(/(iPad|iPhone|iPod)/i) ? !0 : !1;
- k = k.match(/android/i) || g.platform.match(/android/i) ? !0 : !1;
- h = c.OS_UNKNOWN; -1 != g.appVersion.indexOf("Win") ? h = c.OS_WINDOWS : f ? h = c.OS_IOS : -1 != g.appVersion.indexOf("Mac") ? h = c.OS_OSX : -1 != g.appVersion.indexOf("X11") ? h = c.OS_UNIX : k ? h = c.OS_ANDROID : -1 != g.appVersion.indexOf("Linux") && (h = c.OS_LINUX);
- c.os = h;
- c.garbageCollect = function () { };
- c.dumpRoot = function () { };
- c.restartVM = function () { };
- c.dump = function () {
- var a;
- a = "" + ("isMobile : " + this.isMobile + "\r\n");
- a += "language : " + this.language + "\r\n";
- a += "browserType : " + this.browserType + "\r\n";
- a += "capabilities : " + JSON.stringify(this.capabilities) + "\r\n";
- a += "os : " + this.os + "\r\n";
- a += "platform : " + this.platform + "\r\n";
- cc.log(a)
- }
- };
- cc.ORIENTATION_PORTRAIT = 0;
- cc.ORIENTATION_PORTRAIT_UPSIDE_DOWN = 1;
- cc.ORIENTATION_LANDSCAPE_LEFT = 2;
- cc.ORIENTATION_LANDSCAPE_RIGHT = 3;
- cc._drawingUtil = null;
- cc._renderContext = null;
- cc._canvas = null;
- cc._gameDiv = null;
- cc._rendererInitialized = !1;
- cc._setupCalled = !1;
- cc._setup = function (a, b, c) {
- if (!cc._setupCalled) {
- cc._setupCalled = !0;
- var d = window,
- e = new Date,
- f = 1E3 / cc.game.config[cc.game.CONFIG_KEY.frameRate],
- g = function (a) {
- var b = (new Date).getTime(),
- c = Math.max(0, f - (b - e)),
- d = window.setTimeout(function () {
- a()
- },
- c);
- e = b + c;
- return d
- },
- h = function (a) {
- clearTimeout(a)
- };
- cc.sys.os === cc.sys.OS_IOS && cc.sys.browserType === cc.sys.BROWSER_TYPE_WECHAT ? (d.requestAnimFrame = g, d.cancelAnimationFrame = h) : 60 != cc.game.config[cc.game.CONFIG_KEY.frameRate] ? (d.requestAnimFrame = g, d.cancelAnimationFrame = h) : (d.requestAnimFrame = d.requestAnimationFrame || d.webkitRequestAnimationFrame || d.mozRequestAnimationFrame || d.oRequestAnimationFrame || d.msRequestAnimationFrame || g, d.cancelAnimationFrame = window.cancelAnimationFrame || window.cancelRequestAnimationFrame || window.msCancelRequestAnimationFrame || window.mozCancelRequestAnimationFrame || window.oCancelRequestAnimationFrame || window.webkitCancelRequestAnimationFrame || window.msCancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.oCancelAnimationFrame || h);
- h = cc.$(a) || cc.$("#" + a);
- "CANVAS" == h.tagName ? (b = b || h.width, c = c || h.height, g = cc.container = cc.newElement("DIV"), a = cc._canvas = h, a.parentNode.insertBefore(g, a), a.appendTo(g), g.setAttribute("id", "Cocos2dGameContainer")) : ("DIV" != h.tagName && cc.log("Warning: target element is not a DIV or CANVAS"), b = b || h.clientWidth, c = c || h.clientHeight, g = cc.container = h, a = cc._canvas = cc.$(cc.newElement("CANVAS")), h.appendChild(a));
- a.addClass("gameCanvas");
- a.setAttribute("width", b || 480);
- a.setAttribute("height", c || 320);
- a.setAttribute("tabindex", 99);
- a.style.outline = "none";
- h = g.style;
- h.width = (b || 480) + "px";
- h.height = (c || 320) + "px";
- h.margin = "0 auto";
- h.position = "relative";
- h.overflow = "hidden";
- g.top = "100%";
- cc._renderType == cc._RENDER_TYPE_WEBGL && (cc._renderContext = cc.webglContext = cc.create3DContext(a, {
- stencil: !0,
- preserveDrawingBuffer: !0,
- antialias: !cc.sys.isMobile,
- alpha: !1
- }));
- cc._renderContext ? (d.gl = cc._renderContext, cc._drawingUtil = new cc.DrawingPrimitiveWebGL(cc._renderContext), cc._rendererInitialized = !0, cc.textureCache._initializingRenderer(), cc.shaderCache._init()) : (cc._renderContext = a.getContext("2d"), cc._mainRenderContextBackup = cc._renderContext, cc._renderContext.translate(0, a.height), cc._drawingUtil = cc.DrawingPrimitiveCanvas ? new cc.DrawingPrimitiveCanvas(cc._renderContext) : null);
- cc._gameDiv = g;
- cc.log(cc.ENGINE_VERSION);
- cc._setContextMenuEnable(!1);
- cc.sys.isMobile && (b = cc.newElement("style"), b.type = "text/css", document.body.appendChild(b), b.textContent = "body,canvas,div{ -moz-user-select: none;-webkit-user-select: none;-ms-user-select: none;-khtml-user-select: none;-webkit-tap-highlight-color:rgba(0,0,0,0);}");
- cc.view = cc.EGLView._getInstance();
- cc.inputManager.registerSystemEvent(cc._canvas);
- cc.director = cc.Director._getInstance();
- cc.director.setOpenGLView && cc.director.setOpenGLView(cc.view);
- cc.winSize = cc.director.getWinSize();
- cc.saxParser = new cc.SAXParser;
- cc.plistParser = new cc.PlistParser
- }
- };
- cc._checkWebGLRenderMode = function () {
- if (cc._renderType !== cc._RENDER_TYPE_WEBGL) throw "This feature supports WebGL render mode only.";
- };
- cc._isContextMenuEnable = !1;
- cc._setContextMenuEnable = function (a) {
- cc._isContextMenuEnable = a;
- cc._canvas.oncontextmenu = function () {
- if (!cc._isContextMenuEnable) return !1
- }
- };
- cc.game = {
- DEBUG_MODE_NONE: 0,
- DEBUG_MODE_INFO: 1,
- DEBUG_MODE_WARN: 2,
- DEBUG_MODE_ERROR: 3,
- DEBUG_MODE_INFO_FOR_WEB_PAGE: 4,
- DEBUG_MODE_WARN_FOR_WEB_PAGE: 5,
- DEBUG_MODE_ERROR_FOR_WEB_PAGE: 6,
- EVENT_HIDE: "game_on_hide",
- EVENT_SHOW: "game_on_show",
- _eventHide: null,
- _eventShow: null,
- _onBeforeStartArr: [],
- CONFIG_KEY: {
- engineDir: "engineDir",
- dependencies: "dependencies",
- debugMode: "debugMode",
- showFPS: "showFPS",
- frameRate: "frameRate",
- id: "id",
- renderMode: "renderMode",
- jsList: "jsList",
- classReleaseMode: "classReleaseMode"
- },
- _prepareCalled: !1,
- _prepared: !1,
- _paused: !0,
- _intervalId: null,
- config: null,
- onStart: null,
- onStop: null,
- setFrameRate: function (a) {
- this.config[this.CONFIG_KEY.frameRate] = a;
- this._intervalId && window.cancelAnimationFrame(this._intervalId);
- this._paused = !0;
- this._runMainLoop()
- },
- _runMainLoop: function () {
- var a = this,
- b,
- c = cc.director;
- c.setDisplayStats(a.config[a.CONFIG_KEY.showFPS]);
- b = function () {
- a._paused || (c.mainLoop(), a._intervalId = window.requestAnimFrame(b))
- };
- window.requestAnimFrame(b);
- a._paused = !1
- },
- run: function (a) {
- var b = this,
- c = function () {
- a && (b.config[b.CONFIG_KEY.id] = a);
- b._prepareCalled || b.prepare(function () {
- b._prepared = !0
- });
- cc._supportRender && (b._checkPrepare = setInterval(function () {
- b._prepared && (cc._setup(b.config[b.CONFIG_KEY.id]), b._runMainLoop(), b._eventHide = b._eventHide || new cc.EventCustom(b.EVENT_HIDE), b._eventHide.setUserData(b), b._eventShow = b._eventShow || new cc.EventCustom(b.EVENT_SHOW), b._eventShow.setUserData(b), b.onStart(), clearInterval(b._checkPrepare))
- },
- 10))
- };
- document.body ? c() : cc._addEventListener(window, "load",
- function () {
- this.removeEventListener("load", arguments.callee, !1);
- c()
- },
- !1)
- },
- _initConfig: function () {
- var a = this.CONFIG_KEY,
- b = function (b) {
- b[a.engineDir] = b[a.engineDir] || "frameworks/cocos2d-html5";
- null == b[a.debugMode] && (b[a.debugMode] = 0);
- b[a.frameRate] = b[a.frameRate] || 60;
- null == b[a.renderMode] && (b[a.renderMode] = 1);
- return b
- };
- if (document.ccConfig) this.config = b(document.ccConfig);
- else try {
- for (var c = document.getElementsByTagName("script"), d = 0; d < c.length; d++) {
- var e = c[d].getAttribute("cocos");
- if ("" == e || e) break
- }
- var f,
- g,
- h;
- if (d < c.length) {
- if (f = c[d].src) h = /(.*)\//.exec(f)[0],
- cc.loader.resPath = h,
- f = cc.path.join(h, "project.json");
- g = cc.loader._loadTxtSync(f)
- }
- g || (g = cc.loader._loadTxtSync("project.json"));
- var k = JSON.parse(g);
- this.config = b(k || {})
- } catch (m) {
- cc.log("Failed to read or parse project.json"),
- this.config = b({})
- }
- cc._initSys(this.config, a)
- },
- _jsAddedCache: {},
- _getJsListOfModule: function (a, b, c) {
- var d = this._jsAddedCache;
- if (d[b]) return null;
- c = c || "";
- var e = [],
- f = a[b];
- if (!f) throw "can not find module [" + b + "]";
- b = cc.path;
- for (var g = 0, h = f.length; g < h; g++) {
- var k = f[g];
- if (!d[k]) {
- var m = b.extname(k);
- m ? ".js" == m.toLowerCase() && e.push(b.join(c, k)) : (m = this._getJsListOfModule(a, k, c)) && (e = e.concat(m));
- d[k] = 1
- }
- }
- return e
- },
- prepare: function (a) {
- var b = this,
- c = b.config,
- d = b.CONFIG_KEY,
- e = c[d.engineDir],
- f = cc.loader;
- if (!cc._supportRender) throw "The renderer doesn't support the renderMode " + c[d.renderMode];
- b._prepareCalled = !0;
- var g = c[d.jsList] || [];
- cc.Class ? f.loadJsWithImg("", g,
- function (c) {
- if (c) throw c;
- b._prepared = !0;
- a && a()
- }) : (d = cc.path.join(e, "moduleConfig.json"), f.loadJson(d,
- function (d, f) {
- if (d) throw d;
- var m = c.modules || [],
- n = f.module,
- q = [];
- cc._renderType == cc._RENDER_TYPE_WEBGL ? m.splice(0, 0, "shaders") : 0 > m.indexOf("core") && m.splice(0, 0, "core");
- for (var r = 0, s = m.length; r < s; r++) {
- var t = b._getJsListOfModule(n, m[r], e);
- t && (q = q.concat(t))
- }
- q = q.concat(g);
- cc.loader.loadJsWithImg(q,
- function (c) {
- if (c) throw c;
- b._prepared = !0;
- a && a()
- })
- }))
- }
- };
- cc.game._initConfig();
- Function.prototype.bind = Function.prototype.bind ||
- function (a) {
- if (!cc.isFunction(this)) throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");
- var b = Array.prototype.slice.call(arguments, 1),
- c = this,
- d = function () { },
- e = function () {
- return c.apply(this instanceof d && a ? this : a, b.concat(Array.prototype.slice.call(arguments)))
- };
- d.prototype = this.prototype;
- e.prototype = new d;
- return e
- };
- cc._LogInfos = {
- ActionManager_addAction: "cc.ActionManager.addAction(): action must be non-null",
- ActionManager_removeAction: "cocos2d: removeAction: Target not found",
- ActionManager_removeActionByTag: "cc.ActionManager.removeActionByTag(): an invalid tag",
- ActionManager_removeActionByTag_2: "cc.ActionManager.removeActionByTag(): target must be non-null",
- ActionManager_getActionByTag: "cc.ActionManager.getActionByTag(): an invalid tag",
- ActionManager_getActionByTag_2: "cocos2d : getActionByTag(tag \x3d %s): Action not found",
- configuration_dumpInfo: "cocos2d: **** WARNING **** CC_ENABLE_PROFILERS is defined. Disable it when you finish profiling (from ccConfig.js)",
- configuration_loadConfigFile: "Expected 'data' dict, but not found. Config file: %s",
- configuration_loadConfigFile_2: "Please load the resource first : %s",
- Director_resume: "cocos2d: Director: Error in gettimeofday",
- Director_setProjection: "cocos2d: Director: unrecognized projection",
- Director_popToSceneStackLevel: "cocos2d: Director: unrecognized projection",
- Director_popToSceneStackLevel_2: "cocos2d: Director: Error in gettimeofday",
- Director_popScene: "running scene should not null",
- Director_pushScene: "the scene should not null",
- arrayVerifyType: "element type is wrong!",
- Scheduler_scheduleCallbackForTarget: "CCSheduler#scheduleCallback. Callback already scheduled. Updating interval from:%s to %s",
- Scheduler_scheduleCallbackForTarget_2: "cc.scheduler.scheduleCallbackForTarget(): callback_fn should be non-null.",
- Scheduler_scheduleCallbackForTarget_3: "cc.scheduler.scheduleCallbackForTarget(): target should be non-null.",
- Scheduler_pauseTarget: "cc.Scheduler.pauseTarget():target should be non-null",
- Scheduler_resumeTarget: "cc.Scheduler.resumeTarget():target should be non-null",
- Scheduler_isTargetPaused: "cc.Scheduler.isTargetPaused():target should be non-null",
- Node_getZOrder: "getZOrder is deprecated. Please use getLocalZOrder instead.",
- Node_setZOrder: "setZOrder is deprecated. Please use setLocalZOrder instead.",
- Node_getRotation: "RotationX !\x3d RotationY. Don't know which one to return",
- Node_getScale: "ScaleX !\x3d ScaleY. Don't know which one to return",
- Node_addChild: "An Node can't be added as a child of itself.",
- Node_addChild_2: "child already added. It can't be added again",
- Node_addChild_3: "child must be non-null",
- Node_removeFromParentAndCleanup: "removeFromParentAndCleanup is deprecated. Use removeFromParent instead",
- Node_boundingBox: "boundingBox is deprecated. Use getBoundingBox instead",
- Node_removeChildByTag: "argument tag is an invalid tag",
- Node_removeChildByTag_2: "cocos2d: removeChildByTag(tag \x3d %s): child not found!",
- Node_removeAllChildrenWithCleanup: "removeAllChildrenWithCleanup is deprecated. Use removeAllChildren instead",
- Node_stopActionByTag: "cc.Node.stopActionBy(): argument tag an invalid tag",
- Node_getActionByTag: "cc.Node.getActionByTag(): argument tag is an invalid tag",
- Node_resumeSchedulerAndActions: "resumeSchedulerAndActions is deprecated, please use resume instead.",
- Node_pauseSchedulerAndActions: "pauseSchedulerAndActions is deprecated, please use pause instead.",
- Node__arrayMakeObjectsPerformSelector: "Unknown callback function",
- Node_reorderChild: "child must be non-null",
- Node_runAction: "cc.Node.runAction(): action must be non-null",
- Node_schedule: "callback function must be non-null",
- Node_schedule_2: "interval must be positive",
- Node_initWithTexture: "cocos2d: Could not initialize cc.AtlasNode. Invalid Texture.",
- AtlasNode_updateAtlasValues: "cc.AtlasNode.updateAtlasValues(): Shall be overridden in subclasses",
- AtlasNode_initWithTileFile: "",
- AtlasNode__initWithTexture: "cocos2d: Could not initialize cc.AtlasNode. Invalid Texture.",
- _EventListenerKeyboard_checkAvailable: "cc._EventListenerKeyboard.checkAvailable(): Invalid EventListenerKeyboard!",
- _EventListenerTouchOneByOne_checkAvailable: "cc._EventListenerTouchOneByOne.checkAvailable(): Invalid EventListenerTouchOneByOne!",
- _EventListenerTouchAllAtOnce_checkAvailable: "cc._EventListenerTouchAllAtOnce.checkAvailable(): Invalid EventListenerTouchAllAtOnce!",
- _EventListenerAcceleration_checkAvailable: "cc._EventListenerAcceleration.checkAvailable(): _onAccelerationEvent must be non-nil",
- EventListener_create: "Invalid parameter.",
- __getListenerID: "Don't call this method if the event is for touch.",
- eventManager__forceAddEventListener: "Invalid scene graph priority!",
- eventManager_addListener: "0 priority is forbidden for fixed priority since it's used for scene graph based priority.",
- eventManager_removeListeners: "Invalid listener type!",
- eventManager_setPriority: "Can't set fixed priority with scene graph based listener.",
- eventManager_addListener_2: "Invalid parameters.",
- eventManager_addListener_3: "listener must be a cc.EventListener object when adding a fixed priority listener",
- eventManager_addListener_4: "The listener has been registered, please don't register it again.",
- LayerMultiplex_initWithLayers: "parameters should not be ending with null in Javascript",
- LayerMultiplex_switchTo: "Invalid index in MultiplexLayer switchTo message",
- LayerMultiplex_switchToAndReleaseMe: "Invalid index in MultiplexLayer switchTo message",
- LayerMultiplex_addLayer: "cc.Layer.addLayer(): layer should be non-null",
- EGLView_setDesignResolutionSize: "Resolution not valid",
- EGLView_setDesignResolutionSize_2: "should set resolutionPolicy",
- inputManager_handleTouchesBegin: "The touches is more than MAX_TOUCHES, nUnusedIndex \x3d %s",
- swap: "cc.swap is being modified from original macro, please check usage",
- checkGLErrorDebug: "WebGL error %s",
- animationCache__addAnimationsWithDictionary: "cocos2d: cc.AnimationCache: No animations were found in provided dictionary.",
- animationCache__addAnimationsWithDictionary_2: "cc.AnimationCache. Invalid animation format",
- animationCache_addAnimations: "cc.AnimationCache.addAnimations(): File could not be found",
- animationCache__parseVersion1: "cocos2d: cc.AnimationCache: Animation '%s' found in dictionary without any frames - cannot add to animation cache.",
- animationCache__parseVersion1_2: "cocos2d: cc.AnimationCache: Animation '%s' refers to frame '%s' which is not currently in the cc.SpriteFrameCache. This frame will not be added to the animation.",
- animationCache__parseVersion1_3: "cocos2d: cc.AnimationCache: None of the frames for animation '%s' were found in the cc.SpriteFrameCache. Animation is not being added to the Animation Cache.",
- animationCache__parseVersion1_4: "cocos2d: cc.AnimationCache: An animation in your dictionary refers to a frame which is not in the cc.SpriteFrameCache. Some or all of the frames for the animation '%s' may be missing.",
- animationCache__parseVersion2: "cocos2d: CCAnimationCache: Animation '%s' found in dictionary without any frames - cannot add to animation cache.",
- animationCache__parseVersion2_2: "cocos2d: cc.AnimationCache: Animation '%s' refers to frame '%s' which is not currently in the cc.SpriteFrameCache. This frame will not be added to the animation.",
- animationCache_addAnimations_2: "cc.AnimationCache.addAnimations(): Invalid texture file name",
- Sprite_reorderChild: "cc.Sprite.reorderChild(): this child is not in children list",
- Sprite_ignoreAnchorPointForPosition: "cc.Sprite.ignoreAnchorPointForPosition(): it is invalid in cc.Sprite when using SpriteBatchNode",
- Sprite_setDisplayFrameWithAnimationName: "cc.Sprite.setDisplayFrameWithAnimationName(): Frame not found",
- Sprite_setDisplayFrameWithAnimationName_2: "cc.Sprite.setDisplayFrameWithAnimationName(): Invalid frame index",
- Sprite_setDisplayFrame: "setDisplayFrame is deprecated, please use setSpriteFrame instead.",
- Sprite__updateBlendFunc: "cc.Sprite._updateBlendFunc(): _updateBlendFunc doesn't work when the sprite is rendered using a cc.CCSpriteBatchNode",
- Sprite_initWithSpriteFrame: "cc.Sprite.initWithSpriteFrame(): spriteFrame should be non-null",
- Sprite_initWithSpriteFrameName: "cc.Sprite.initWithSpriteFrameName(): spriteFrameName should be non-null",
- Sprite_initWithSpriteFrameName1: " is null, please check.",
- Sprite_initWithFile: "cc.Sprite.initWithFile(): filename should be non-null",
- Sprite_setDisplayFrameWithAnimationName_3: "cc.Sprite.setDisplayFrameWithAnimationName(): animationName must be non-null",
- Sprite_reorderChild_2: "cc.Sprite.reorderChild(): child should be non-null",
- Sprite_addChild: "cc.Sprite.addChild(): cc.Sprite only supports cc.Sprites as children when using cc.SpriteBatchNode",
- Sprite_addChild_2: "cc.Sprite.addChild(): cc.Sprite only supports a sprite using same texture as children when using cc.SpriteBatchNode",
- Sprite_addChild_3: "cc.Sprite.addChild(): child should be non-null",
- Sprite_setTexture: "cc.Sprite.texture setter: Batched sprites should use the same texture as the batchnode",
- Sprite_updateQuadFromSprite: "cc.SpriteBatchNode.updateQuadFromSprite(): cc.SpriteBatchNode only supports cc.Sprites as children",
- Sprite_insertQuadFromSprite: "cc.SpriteBatchNode.insertQuadFromSprite(): cc.SpriteBatchNode only supports cc.Sprites as children",
- Sprite_addChild_4: "cc.SpriteBatchNode.addChild(): cc.SpriteBatchNode only supports cc.Sprites as children",
- Sprite_addChild_5: "cc.SpriteBatchNode.addChild(): cc.Sprite is not using the same texture",
- Sprite_initWithTexture: "Sprite.initWithTexture(): Argument must be non-nil ",
- Sprite_setSpriteFrame: "Invalid spriteFrameName",
- Sprite_setTexture_2: "Invalid argument: cc.Sprite.texture setter expects a CCTexture2D.",
- Sprite_updateQuadFromSprite_2: "cc.SpriteBatchNode.updateQuadFromSprite(): sprite should be non-null",
- Sprite_insertQuadFromSprite_2: "cc.SpriteBatchNode.insertQuadFromSprite(): sprite should be non-null",
- Sprite_addChild_6: "cc.SpriteBatchNode.addChild(): child should be non-null",
- SpriteBatchNode_addSpriteWithoutQuad: "cc.SpriteBatchNode.addQuadFromSprite(): SpriteBatchNode only supports cc.Sprites as children",
- SpriteBatchNode_increaseAtlasCapacity: "cocos2d: CCSpriteBatchNode: resizing TextureAtlas capacity from %s to %s.",
- SpriteBatchNode_increaseAtlasCapacity_2: "cocos2d: WARNING: Not enough memory to resize the atlas",
- SpriteBatchNode_reorderChild: "cc.SpriteBatchNode.addChild(): Child doesn't belong to Sprite",
- SpriteBatchNode_removeChild: "cc.SpriteBatchNode.addChild(): sprite batch node should contain the child",
- SpriteBatchNode_addSpriteWithoutQuad_2: "cc.SpriteBatchNode.addQuadFromSprite(): child should be non-null",
- SpriteBatchNode_reorderChild_2: "cc.SpriteBatchNode.addChild():child should be non-null",
- spriteFrameCache__getFrameConfig: "cocos2d: WARNING: originalWidth/Height not found on the cc.SpriteFrame. AnchorPoint won't work as expected. Regenrate the .plist",
- spriteFrameCache_addSpriteFrames: "cocos2d: WARNING: an alias with name %s already exists",
- spriteFrameCache__checkConflict: "cocos2d: WARNING: Sprite frame: %s has already been added by another source, please fix name conflit",
- spriteFrameCache_getSpriteFrame: "cocos2d: cc.SpriteFrameCahce: Frame %s not found",
- spriteFrameCache__getFrameConfig_2: "Please load the resource first : %s",
- spriteFrameCache_addSpriteFrames_2: "cc.SpriteFrameCache.addSpriteFrames(): plist should be non-null",
- spriteFrameCache_addSpriteFrames_3: "Argument must be non-nil",
- CCSpriteBatchNode_updateQuadFromSprite: "cc.SpriteBatchNode.updateQuadFromSprite(): cc.SpriteBatchNode only supports cc.Sprites as children",
- CCSpriteBatchNode_insertQuadFromSprite: "cc.SpriteBatchNode.insertQuadFromSprite(): cc.SpriteBatchNode only supports cc.Sprites as children",
- CCSpriteBatchNode_addChild: "cc.SpriteBatchNode.addChild(): cc.SpriteBatchNode only supports cc.Sprites as children",
- CCSpriteBatchNode_initWithTexture: "Sprite.initWithTexture(): Argument must be non-nil ",
- CCSpriteBatchNode_addChild_2: "cc.Sprite.addChild(): child should be non-null",
- CCSpriteBatchNode_setSpriteFrame: "Invalid spriteFrameName",
- CCSpriteBatchNode_setTexture: "Invalid argument: cc.Sprite texture setter expects a CCTexture2D.",
- CCSpriteBatchNode_updateQuadFromSprite_2: "cc.SpriteBatchNode.updateQuadFromSprite(): sprite should be non-null",
- CCSpriteBatchNode_insertQuadFromSprite_2: "cc.SpriteBatchNode.insertQuadFromSprite(): sprite should be non-null",
- CCSpriteBatchNode_addChild_3: "cc.SpriteBatchNode.addChild(): child should be non-null",
- TextureAtlas_initWithFile: "cocos2d: Could not open file: %s",
- TextureAtlas_insertQuad: "cc.TextureAtlas.insertQuad(): invalid totalQuads",
- TextureAtlas_initWithTexture: "cc.TextureAtlas.initWithTexture():texture should be non-null",
- TextureAtlas_updateQuad: "cc.TextureAtlas.updateQuad(): quad should be non-null",
- TextureAtlas_updateQuad_2: "cc.TextureAtlas.updateQuad(): Invalid index",
- TextureAtlas_insertQuad_2: "cc.TextureAtlas.insertQuad(): Invalid index",
- TextureAtlas_insertQuads: "cc.TextureAtlas.insertQuad(): Invalid index + amount",
- TextureAtlas_insertQuadFromIndex: "cc.TextureAtlas.insertQuadFromIndex(): Invalid newIndex",
- TextureAtlas_insertQuadFromIndex_2: "cc.TextureAtlas.insertQuadFromIndex(): Invalid fromIndex",
- TextureAtlas_removeQuadAtIndex: "cc.TextureAtlas.removeQuadAtIndex(): Invalid index",
- TextureAtlas_removeQuadsAtIndex: "cc.TextureAtlas.removeQuadsAtIndex(): index + amount out of bounds",
- TextureAtlas_moveQuadsFromIndex: "cc.TextureAtlas.moveQuadsFromIndex(): move is out of bounds",
- TextureAtlas_moveQuadsFromIndex_2: "cc.TextureAtlas.moveQuadsFromIndex(): Invalid newIndex",
- TextureAtlas_moveQuadsFromIndex_3: "cc.TextureAtlas.moveQuadsFromIndex(): Invalid oldIndex",
- textureCache_addPVRTCImage: "TextureCache:addPVRTCImage does not support on HTML5",
- textureCache_addETCImage: "TextureCache:addPVRTCImage does not support on HTML5",
- textureCache_textureForKey: "textureForKey is deprecated. Please use getTextureForKey instead.",
- textureCache_addPVRImage: "addPVRImage does not support on HTML5",
- textureCache_addUIImage: "cocos2d: Couldn't add UIImage in TextureCache",
- textureCache_dumpCachedTextureInfo: "cocos2d: '%s' id\x3d%s %s x %s",
- textureCache_dumpCachedTextureInfo_2: "cocos2d: '%s' id\x3d HTMLCanvasElement %s x %s",
- textureCache_dumpCachedTextureInfo_3: "cocos2d: TextureCache dumpDebugInfo: %s textures, HTMLCanvasElement for %s KB (%s MB)",
- textureCache_addUIImage_2: "cc.Texture.addUIImage(): image should be non-null",
- Texture2D_initWithETCFile: "initWithETCFile does not support on HTML5",
- Texture2D_initWithPVRFile: "initWithPVRFile does not support on HTML5",
- Texture2D_initWithPVRTCData: "initWithPVRTCData does not support on HTML5",
- Texture2D_addImage: "cc.Texture.addImage(): path should be non-null",
- Texture2D_initWithImage: "cocos2d: cc.Texture2D. Can't create Texture. UIImage is nil",
- Texture2D_initWithImage_2: "cocos2d: WARNING: Image (%s x %s) is bigger than the supported %s x %s",
- Texture2D_initWithString: "initWithString isn't supported on cocos2d-html5",
- Texture2D_initWithETCFile_2: "initWithETCFile does not support on HTML5",
- Texture2D_initWithPVRFile_2: "initWithPVRFile does not support on HTML5",
- Texture2D_initWithPVRTCData_2: "initWithPVRTCData does not support on HTML5",
- Texture2D_bitsPerPixelForFormat: "bitsPerPixelForFormat: %s, cannot give useful result, it's a illegal pixel format",
- Texture2D__initPremultipliedATextureWithImage: "cocos2d: cc.Texture2D: Using RGB565 texture since image has no alpha",
- Texture2D_addImage_2: "cc.Texture.addImage(): path should be non-null",
- Texture2D_initWithData: "NSInternalInconsistencyException",
- MissingFile: "Missing file: %s",
- radiansToDegress: "cc.radiansToDegress() should be called cc.radiansToDegrees()",
- RectWidth: "Rect width exceeds maximum margin: %s",
- RectHeight: "Rect height exceeds maximum margin: %s",
- EventManager__updateListeners: "If program goes here, there should be event in dispatch.",
- EventManager__updateListeners_2: "_inDispatch should be 1 here."
- };
- cc._logToWebPage = function (a) {
- if (cc._canvas) {
- var b = cc._logList,
- c = document;
- if (!b) {
- var d = c.createElement("Div"),
- b = d.style;
- d.setAttribute("id", "logInfoDiv");
- cc._canvas.parentNode.appendChild(d);
- d.setAttribute("width", "200");
- d.setAttribute("height", cc._canvas.height);
- b.zIndex = "99999";
- b.position = "absolute";
- b.top = "0";
- b.left = "0";
- b = cc._logList = c.createElement("textarea");
- c = b.style;
- b.setAttribute("rows", "20");
- b.setAttribute("cols", "30");
- b.setAttribute("disabled", !0);
- d.appendChild(b);
- c.backgroundColor = "transparent";
- c.borderBottom = "1px solid #cccccc";
- c.borderRightWidth = "0px";
- c.borderLeftWidth = "0px";
- c.borderTopWidth = "0px";
- c.borderTopStyle = "none";
- c.borderRightStyle = "none";
- c.borderLeftStyle = "none";
- c.padding = "0px";
- c.margin = 0
- }
- b.value = b.value + a + "\r\n";
- b.scrollTop = b.scrollHeight
- }
- };
- cc._formatString = function (a) {
- if (cc.isObject(a)) try {
- return JSON.stringify(a)
- } catch (b) {
- return ""
- } else return a
- };
- cc._initDebugSetting = function (a) {
- var b = cc.game;
- if (a != b.DEBUG_MODE_NONE) {
- var c;
- a > b.DEBUG_MODE_ERROR ? (c = cc._logToWebPage.bind(cc), cc.error = function () {
- c("ERROR : " + cc.formatStr.apply(cc, arguments))
- },
- cc.assert = function (a, b) {
- if (!a && b) {
- for (var f = 2; f < arguments.length; f++) b = b.replace(/(%s)|(%d)/, cc._formatString(arguments[f]));
- c("Assert: " + b)
- }
- },
- a != b.DEBUG_MODE_ERROR_FOR_WEB_PAGE && (cc.warn = function () {
- c("WARN : " + cc.formatStr.apply(cc, arguments))
- }), a == b.DEBUG_MODE_INFO_FOR_WEB_PAGE && (cc.log = function () {
- c(cc.formatStr.apply(cc, arguments))
- })) : console && (cc.error = function () {
- return console.error.apply(console, arguments)
- },
- cc.assert = function (a, b) {
- if (!a && b) {
- for (var c = 2; c < arguments.length; c++) b = b.replace(/(%s)|(%d)/, cc._formatString(arguments[c]));
- throw b;
- }
- },
- a != b.DEBUG_MODE_ERROR && (cc.warn = function () {
- return console.warn.apply(console, arguments)
- }), a == b.DEBUG_MODE_INFO && (cc.log = function () {
- return console.log.apply(console, arguments)
- }))
- }
- };
- cc._initDebugSetting(cc.game.config[cc.game.CONFIG_KEY.debugMode]);
- cc.loader.loadBinary = function (a, b) {
- var c = this,
- d = this.getXMLHttpRequest(),
- e = "load " + a + " failed!";
- d.open("GET", a, !0);
- /msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent) ? (d.setRequestHeader("Accept-Charset", "x-user-defined"), d.onreadystatechange = function () {
- if (4 == d.readyState && 200 == d.status) {
- var a = cc._convertResponseBodyToText(d.responseBody);
- b(null, c._str2Uint8Array(a))
- } else b(e)
- }) : (d.overrideMimeType && d.overrideMimeType("text/plain; charset\x3dx-user-defined"), d.onload = function () {
- 4 == d.readyState && 200 == d.status ? b(null, c._str2Uint8Array(d.responseText)) : b(e)
- });
- d.send(null)
- };
- cc.loader._str2Uint8Array = function (a) {
- if (!a) return null;
- for (var b = new Uint8Array(a.length), c = 0; c < a.length; c++) b[c] = a.charCodeAt(c) & 255;
- return b
- };
- cc.loader.loadBinarySync = function (a) {
- var b = this.getXMLHttpRequest(),
- c = "load " + a + " failed!";
- b.open("GET", a, !1);
- a = null;
- if (/msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent)) {
- b.setRequestHeader("Accept-Charset", "x-user-defined");
- b.send(null);
- if (200 != b.status) return cc.log(c),
- null; (b = cc._convertResponseBodyToText(b.responseBody)) && (a = this._str2Uint8Array(b))
- } else {
- b.overrideMimeType && b.overrideMimeType("text/plain; charset\x3dx-user-defined");
- b.send(null);
- if (200 != b.status) return cc.log(c),
- null;
- a = this._str2Uint8Array(b.responseText)
- }
- return a
- };
- var Uint8Array = Uint8Array || Array;
- if (/msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent)) {
- var IEBinaryToArray_ByteStr_Script = '\x3c!-- IEBinaryToArray_ByteStr --\x3e\r\nFunction IEBinaryToArray_ByteStr(Binary)\r\n IEBinaryToArray_ByteStr \x3d CStr(Binary)\r\nEnd Function\r\nFunction IEBinaryToArray_ByteStr_Last(Binary)\r\n Dim lastIndex\r\n lastIndex \x3d LenB(Binary)\r\n if lastIndex mod 2 Then\r\n IEBinaryToArray_ByteStr_Last \x3d Chr( AscB( MidB( Binary, lastIndex, 1 ) ) )\r\n Else\r\n IEBinaryToArray_ByteStr_Last \x3d ""\r\n End If\r\nEnd Function\r\n',
- myVBScript = cc.newElement("script");
- myVBScript.type = "text/vbscript";
- myVBScript.textContent = IEBinaryToArray_ByteStr_Script;
- document.body.appendChild(myVBScript);
- cc._convertResponseBodyToText = function (a) {
- for (var b = {},
- c = 0; 256 > c; c++) for (var d = 0; 256 > d; d++) b[String.fromCharCode(c + 256 * d)] = String.fromCharCode(c) + String.fromCharCode(d);
- c = IEBinaryToArray_ByteStr(a);
- a = IEBinaryToArray_ByteStr_Last(a);
- return c.replace(/[\s\S]/g,
- function (a) {
- return b[a]
- }) + a
- }
- };
- cc = cc || {};
- cc._loadingImage = "data:image/gif;base64,R0lGODlhEAAQALMNAD8/P7+/vyoqKlVVVX9/fxUVFUBAQGBgYMDAwC8vL5CQkP///wAAAP///wAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFAAANACwAAAAAEAAQAAAEO5DJSau9OOvNex0IMnDIsiCkiW6g6BmKYlBFkhSUEgQKlQCARG6nEBwOgl+QApMdCIRD7YZ5RjlGpCUCACH5BAUAAA0ALAAAAgAOAA4AAAQ6kLGB0JA4M7QW0hrngRllkYyhKAYqKUGguAws0ypLS8JxCLQDgXAIDg+FRKIA6v0SAECCBpXSkstMBAAh+QQFAAANACwAAAAACgAQAAAEOJDJORAac6K1kDSKYmydpASBUl0mqmRfaGTCcQgwcxDEke+9XO2WkxQSiUIuAQAkls0n7JgsWq8RACH5BAUAAA0ALAAAAAAOAA4AAAQ6kMlplDIzTxWC0oxwHALnDQgySAdBHNWFLAvCukc215JIZihVIZEogDIJACBxnCSXTcmwGK1ar1hrBAAh+QQFAAANACwAAAAAEAAKAAAEN5DJKc4RM+tDyNFTkSQF5xmKYmQJACTVpQSBwrpJNteZSGYoFWjIGCAQA2IGsVgglBOmEyoxIiMAIfkEBQAADQAsAgAAAA4ADgAABDmQSVZSKjPPBEDSGucJxyGA1XUQxAFma/tOpDlnhqIYN6MEAUXvF+zldrMBAjHoIRYLhBMqvSmZkggAIfkEBQAADQAsBgAAAAoAEAAABDeQyUmrnSWlYhMASfeFVbZdjHAcgnUQxOHCcqWylKEohqUEAYVkgEAMfkEJYrFA6HhKJsJCNFoiACH5BAUAAA0ALAIAAgAOAA4AAAQ3kMlJq704611SKloCAEk4lln3DQgyUMJxCBKyLAh1EMRR3wiDQmHY9SQslyIQUMRmlmVTIyRaIgA7";
- cc._fpsImage = "data:image/png;base64,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\x3d";
- cc._loaderImage = "data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAAlAAD/4QMpaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjAtYzA2MCA2MS4xMzQ3NzcsIDIwMTAvMDIvMTItMTc6MzI6MDAgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjM4MDBEMDY2QTU1MjExRTFBQTAzQjEzMUNFNzMxRkQwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjM4MDBEMDY1QTU1MjExRTFBQTAzQjEzMUNFNzMxRkQwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzUgV2luZG93cyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkU2RTk0OEM4OERCNDExRTE5NEUyRkE3M0M3QkE1NTlEIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU2RTk0OEM5OERCNDExRTE5NEUyRkE3M0M3QkE1NTlEIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/+4ADkFkb2JlAGTAAAAAAf/bAIQADQkJCQoJDQoKDRMMCwwTFhENDREW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\x3d";
- var cc = cc || {},
- ClassManager = {
- id: 0 | 998 * Math.random(),
- instanceId: 0 | 998 * Math.random(),
- compileSuper: function (a, b, c) {
- a = a.toString();
- var d = a.indexOf("("),
- e = a.indexOf(")"),
- d = a.substring(d + 1, e),
- d = d.trim(),
- e = a.indexOf("{"),
- f = a.lastIndexOf("}");
- for (a = a.substring(e + 1, f) ; -1 != a.indexOf("this._super") ;) {
- var e = a.indexOf("this._super"),
- f = a.indexOf("(", e),
- g = a.indexOf(")", f),
- g = a.substring(f + 1, g),
- g = (g = g.trim()) ? "," : "";
- a = a.substring(0, e) + "ClassManager[" + c + "]." + b + ".call(this" + g + a.substring(f + 1)
- }
- return Function(d, a)
- },
- getNewID: function () {
- return this.id++
- },
- getNewInstanceId: function () {
- return this.instanceId++
- }
- };
- ClassManager.compileSuper.ClassManager = ClassManager; (function () {
- var a = /\b_super\b/,
- b = cc.game.config[cc.game.CONFIG_KEY.classReleaseMode];
- b && console.log("release Mode");
- cc.Class = function () { };
- cc.Class.extend = function (c) {
- function d() {
- this.__instanceId = ClassManager.getNewInstanceId();
- this.ctor && this.ctor.apply(this, arguments)
- }
- var e = this.prototype,
- f = Object.create(e),
- g = ClassManager.getNewID();
- ClassManager[g] = e;
- var h = {
- writable: !0,
- enumerable: !1,
- configurable: !0
- };
- f.__instanceId = null;
- d.id = g;
- h.value = g;
- Object.defineProperty(f, "__pid", h);
- d.prototype = f;
- h.value = d;
- Object.defineProperty(d.prototype, "constructor", h);
- this.__getters__ && (d.__getters__ = cc.clone(this.__getters__));
- this.__setters__ && (d.__setters__ = cc.clone(this.__setters__));
- for (var k = 0, m = arguments.length; k < m; ++k) {
- var n = arguments[k],
- q;
- for (q in n) {
- var r = "function" === typeof n[q],
- s = "function" === typeof e[q],
- t = a.test(n[q]);
- b && r && s && t ? (h.value = ClassManager.compileSuper(n[q], q, g), Object.defineProperty(f, q, h)) : r && s && t ? (h.value = function (a, b) {
- return function () {
- var c = this._super;
- this._super = e[a];
- var d = b.apply(this, arguments);
- this._super = c;
- return d
- }
- }(q, n[q]), Object.defineProperty(f, q, h)) : r ? (h.value = n[q], Object.defineProperty(f, q, h)) : f[q] = n[q];
- if (r) {
- var u,
- v;
- if (this.__getters__ && this.__getters__[q]) {
- var r = this.__getters__[q],
- w;
- for (w in this.__setters__) if (this.__setters__[w] == r) {
- v = w;
- break
- }
- cc.defineGetterSetter(f, r, n[q], n[v] ? n[v] : f[v], q, v)
- }
- if (this.__setters__ && this.__setters__[q]) {
- r = this.__setters__[q];
- for (w in this.__getters__) if (this.__getters__[w] == r) {
- u = w;
- break
- }
- cc.defineGetterSetter(f, r, n[u] ? n[u] : f[u], n[q], u, q)
- }
- }
- }
- }
- d.extend = cc.Class.extend;
- d.implement = function (a) {
- for (var b in a) f[b] = a[b]
- };
- return d
- }
- })();
- cc.defineGetterSetter = function (a, b, c, d, e, f) {
- if (a.__defineGetter__) c && a.__defineGetter__(b, c),
- d && a.__defineSetter__(b, d);
- else if (Object.defineProperty) {
- var g = {
- enumerable: !1,
- configurable: !0
- };
- c && (g.get = c);
- d && (g.set = d);
- Object.defineProperty(a, b, g)
- } else throw Error("browser does not support getters");
- if (!e && !f) for (var g = null != c, h = void 0 != d, k = Object.getOwnPropertyNames(a), m = 0; m < k.length; m++) {
- var n = k[m];
- if ((a.__lookupGetter__ ? !a.__lookupGetter__(n) : !Object.getOwnPropertyDescriptor(a, n)) && "function" === typeof a[n]) {
- var q = a[n];
- if (g && q === c && (e = n, !h || f)) break;
- if (h && q === d && (f = n, !g || e)) break
- }
- }
- a = a.constructor;
- e && (a.__getters__ || (a.__getters__ = {}), a.__getters__[e] = b);
- f && (a.__setters__ || (a.__setters__ = {}), a.__setters__[f] = b)
- };
- cc.clone = function (a) {
- var b = a.constructor ? new a.constructor : {},
- c;
- for (c in a) {
- var d = a[c];
- b[c] = "object" != typeof d || !d || d instanceof cc.Node || d instanceof HTMLElement ? d : cc.clone(d)
- }
- return b
- };
- cc = cc || {};
- cc._tmp = cc._tmp || {};
- cc.associateWithNative = function (a, b) { };
- cc.KEY = {
- backspace: 8,
- tab: 9,
- enter: 13,
- shift: 16,
- ctrl: 17,
- alt: 18,
- pause: 19,
- capslock: 20,
- escape: 27,
- pageup: 33,
- pagedown: 34,
- end: 35,
- home: 36,
- left: 37,
- up: 38,
- right: 39,
- down: 40,
- insert: 45,
- Delete: 46,
- 0: 48,
- 1: 49,
- 2: 50,
- 3: 51,
- 4: 52,
- 5: 53,
- 6: 54,
- 7: 55,
- 8: 56,
- 9: 57,
- a: 65,
- b: 66,
- c: 67,
- d: 68,
- e: 69,
- f: 70,
- g: 71,
- h: 72,
- i: 73,
- j: 74,
- k: 75,
- l: 76,
- m: 77,
- n: 78,
- o: 79,
- p: 80,
- q: 81,
- r: 82,
- s: 83,
- t: 84,
- u: 85,
- v: 86,
- w: 87,
- x: 88,
- y: 89,
- z: 90,
- num0: 96,
- num1: 97,
- num2: 98,
- num3: 99,
- num4: 100,
- num5: 101,
- num6: 102,
- num7: 103,
- num8: 104,
- num9: 105,
- "*": 106,
- "+": 107,
- "-": 109,
- numdel: 110,
- "/": 111,
- f1: 112,
- f2: 113,
- f3: 114,
- f4: 115,
- f5: 116,
- f6: 117,
- f7: 118,
- f8: 119,
- f9: 120,
- f10: 121,
- f11: 122,
- f12: 123,
- numlock: 144,
- scrolllock: 145,
- semicolon: 186,
- ",": 186,
- equal: 187,
- "\x3d": 187,
- ";": 188,
- comma: 188,
- dash: 189,
- ".": 190,
- period: 190,
- forwardslash: 191,
- grave: 192,
- "[": 219,
- openbracket: 219,
- "]": 221,
- closebracket: 221,
- backslash: 220,
- quote: 222,
- space: 32
- };
- cc.FMT_JPG = 0;
- cc.FMT_PNG = 1;
- cc.FMT_TIFF = 2;
- cc.FMT_RAWDATA = 3;
- cc.FMT_WEBP = 4;
- cc.FMT_UNKNOWN = 5;
- cc.getImageFormatByData = function (a) {
- return 8 < a.length && 137 == a[0] && 80 == a[1] && 78 == a[2] && 71 == a[3] && 13 == a[4] && 10 == a[5] && 26 == a[6] && 10 == a[7] ? cc.FMT_PNG : 2 < a.length && (73 == a[0] && 73 == a[1] || 77 == a[0] && 77 == a[1] || 255 == a[0] && 216 == a[1]) ? cc.FMT_TIFF : cc.FMT_UNKNOWN
- };
- cc.inherits = function (a, b) {
- function c() { }
- c.prototype = b.prototype;
- a.superClass_ = b.prototype;
- a.prototype = new c;
- a.prototype.constructor = a
- };
- cc.base = function (a, b, c) {
- var d = arguments.callee.caller;
- if (d.superClass_) return ret = d.superClass_.constructor.apply(a, Array.prototype.slice.call(arguments, 1));
- for (var e = Array.prototype.slice.call(arguments, 2), f = !1, g = a.constructor; g; g = g.superClass_ && g.superClass_.constructor) if (g.prototype[b] === d) f = !0;
- else if (f) return g.prototype[b].apply(a, e);
- if (a[b] === d) return a.constructor.prototype[b].apply(a, e);
- throw Error("cc.base called from a method of one name to a method of a different name");
- };
- cc.Point = function (a, b) {
- this.x = a || 0;
- this.y = b || 0
- };
- cc.p = function (a, b) {
- return void 0 == a ? {
- x: 0,
- y: 0
- } : void 0 == b ? {
- x: a.x,
- y: a.y
- } : {
- x: a,
- y: b
- }
- };
- cc.pointEqualToPoint = function (a, b) {
- return a && b && a.x === b.x && a.y === b.y
- };
- cc.Size = function (a, b) {
- this.width = a || 0;
- this.height = b || 0
- };
- cc.size = function (a, b) {
- return void 0 === a ? {
- width: 0,
- height: 0
- } : void 0 === b ? {
- width: a.width,
- height: a.height
- } : {
- width: a,
- height: b
- }
- };
- cc.sizeEqualToSize = function (a, b) {
- return a && b && a.width == b.width && a.height == b.height
- };
- cc.Rect = function (a, b, c, d) {
- this.x = a || 0;
- this.y = b || 0;
- this.width = c || 0;
- this.height = d || 0
- };
- cc.rect = function (a, b, c, d) {
- return void 0 === a ? {
- x: 0,
- y: 0,
- width: 0,
- height: 0
- } : void 0 === b ? {
- x: a.x,
- y: a.y,
- width: a.width,
- height: a.height
- } : {
- x: a,
- y: b,
- width: c,
- height: d
- }
- };
- cc.rectEqualToRect = function (a, b) {
- return a && b && a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height
- };
- cc._rectEqualToZero = function (a) {
- return a && 0 === a.x && 0 === a.y && 0 === a.width && 0 === a.height
- };
- cc.rectContainsRect = function (a, b) {
- return a && b ? !(a.x >= b.x || a.y >= b.y || a.x + a.width <= b.x + b.width || a.y + a.height <= b.y + b.height) : !1
- };
- cc.rectGetMaxX = function (a) {
- return a.x + a.width
- };
- cc.rectGetMidX = function (a) {
- return a.x + a.width / 2
- };
- cc.rectGetMinX = function (a) {
- return a.x
- };
- cc.rectGetMaxY = function (a) {
- return a.y + a.height
- };
- cc.rectGetMidY = function (a) {
- return a.y + a.height / 2
- };
- cc.rectGetMinY = function (a) {
- return a.y
- };
- cc.rectContainsPoint = function (a, b) {
- return b.x >= cc.rectGetMinX(a) && b.x <= cc.rectGetMaxX(a) && b.y >= cc.rectGetMinY(a) && b.y <= cc.rectGetMaxY(a)
- };
- cc.rectIntersectsRect = function (a, b) {
- var c = a.y + a.height,
- d = b.x + b.width,
- e = b.y + b.height;
- return !(a.x + a.width < b.x || d < a.x || c < b.y || e < a.y)
- };
- cc.rectOverlapsRect = function (a, b) {
- return !(a.x + a.width < b.x || b.x + b.width < a.x || a.y + a.height < b.y || b.y + b.height < a.y)
- };
- cc.rectUnion = function (a, b) {
- var c = cc.rect(0, 0, 0, 0);
- c.x = Math.min(a.x, b.x);
- c.y = Math.min(a.y, b.y);
- c.width = Math.max(a.x + a.width, b.x + b.width) - c.x;
- c.height = Math.max(a.y + a.height, b.y + b.height) - c.y;
- return c
- };
- cc.rectIntersection = function (a, b) {
- var c = cc.rect(Math.max(cc.rectGetMinX(a), cc.rectGetMinX(b)), Math.max(cc.rectGetMinY(a), cc.rectGetMinY(b)), 0, 0);
- c.width = Math.min(cc.rectGetMaxX(a), cc.rectGetMaxX(b)) - cc.rectGetMinX(c);
- c.height = Math.min(cc.rectGetMaxY(a), cc.rectGetMaxY(b)) - cc.rectGetMinY(c);
- return c
- };
- cc.SAXParser = cc.Class.extend({
- _parser: null,
- _isSupportDOMParser: null,
- ctor: function () {
- window.DOMParser ? (this._isSupportDOMParser = !0, this._parser = new DOMParser) : this._isSupportDOMParser = !1
- },
- parse: function (a) {
- return this._parseXML(a)
- },
- _parseXML: function (a) {
- var b;
- this._isSupportDOMParser ? b = this._parser.parseFromString(a, "text/xml") : (b = new ActiveXObject("Microsoft.XMLDOM"), b.async = "false", b.loadXML(a));
- return b
- }
- });
- cc.PlistParser = cc.SAXParser.extend({
- parse: function (a) {
- a = this._parseXML(a).documentElement;
- if ("plist" != a.tagName) throw "Not a plist file!";
- for (var b = null, c = 0, d = a.childNodes.length; c < d && (b = a.childNodes[c], 1 != b.nodeType) ; c++);
- return this._parseNode(b)
- },
- _parseNode: function (a) {
- var b = null,
- c = a.tagName;
- if ("dict" == c) b = this._parseDict(a);
- else if ("array" == c) b = this._parseArray(a);
- else if ("string" == c) if (1 == a.childNodes.length) b = a.firstChild.nodeValue;
- else for (b = "", c = 0; c < a.childNodes.length; c++) b += a.childNodes[c].nodeValue;
- else "false" == c ? b = !1 : "true" == c ? b = !0 : "real" == c ? b = parseFloat(a.firstChild.nodeValue) : "integer" == c && (b = parseInt(a.firstChild.nodeValue, 10));
- return b
- },
- _parseArray: function (a) {
- for (var b = [], c = 0, d = a.childNodes.length; c < d; c++) {
- var e = a.childNodes[c];
- 1 == e.nodeType && b.push(this._parseNode(e))
- }
- return b
- },
- _parseDict: function (a) {
- for (var b = {},
- c = null, d = 0, e = a.childNodes.length; d < e; d++) {
- var f = a.childNodes[d];
- 1 == f.nodeType && ("key" == f.tagName ? c = f.firstChild.nodeValue : b[c] = this._parseNode(f))
- }
- return b
- }
- });
- cc._txtLoader = {
- load: function (a, b, c, d) {
- cc.loader.loadTxt(a, d)
- }
- };
- cc.loader.register(["txt", "xml", "vsh", "fsh", "atlas"], cc._txtLoader);
- cc._jsonLoader = {
- load: function (a, b, c, d) {
- cc.loader.loadJson(a, d)
- }
- };
- cc.loader.register(["json", "ExportJson"], cc._jsonLoader);
- cc._imgLoader = {
- load: function (a, b, c, d) {
- cc.loader.cache[b] = cc.loader.loadImg(a,
- function (a, c) {
- if (a) return d(a);
- cc.textureCache.handleLoadedTexture(b);
- d(null, c)
- })
- }
- };
- cc.loader.register("png jpg bmp jpeg gif ico".split(" "), cc._imgLoader);
- cc._serverImgLoader = {
- load: function (a, b, c, d) {
- cc.loader.cache[b] = cc.loader.loadImg(c.src,
- function (a, c) {
- if (a) return d(a);
- cc.textureCache.handleLoadedTexture(b);
- d(null, c)
- })
- }
- };
- cc.loader.register(["serverImg"], cc._serverImgLoader);
- cc._plistLoader = {
- load: function (a, b, c, d) {
- cc.loader.loadTxt(a,
- function (a, b) {
- if (a) return d(a);
- d(null, cc.plistParser.parse(b))
- })
- }
- };
- cc.loader.register(["plist"], cc._plistLoader);
- cc._fontLoader = {
- TYPE: {
- ".eot": "embedded-opentype",
- ".ttf": "truetype",
- ".woff": "woff",
- ".svg": "svg"
- },
- _loadFont: function (a, b, c) {
- var d = document,
- e = cc.path,
- f = this.TYPE,
- g = cc.newElement("style");
- g.type = "text/css";
- d.body.appendChild(g);
- var h = "@font-face { font-family:" + a + "; src:";
- if (b instanceof Array) for (var k = 0, m = b.length; k < m; k++) c = e.extname(b[k]).toLowerCase(),
- h += "url('" + b[k] + "') format('" + f[c] + "')",
- h += k == m - 1 ? ";" : ",";
- else h += "url('" + b + "') format('" + f[c] + "');";
- g.textContent += h + "};";
- b = cc.newElement("div");
- c = b.style;
- c.fontFamily = a;
- b.innerHTML = ".";
- c.position = "absolute";
- c.left = "-100px";
- c.top = "-100px";
- d.body.appendChild(b)
- },
- load: function (a, b, c, d) {
- b = c.type;
- a = c.name;
- b = c.srcs;
- cc.isString(c) ? (b = cc.path.extname(c), a = cc.path.basename(c, b), this._loadFont(a, c, b)) : this._loadFont(a, b);
- d(null, !0)
- }
- };
- cc.loader.register(["font", "eot", "ttf", "woff", "svg"], cc._fontLoader);
- cc._binaryLoader = {
- load: function (a, b, c, d) {
- cc.loader.loadBinary(a, d)
- }
- };
- window.CocosEngine = cc.ENGINE_VERSION = "Cocos2d-JS v3.0 Final";
- cc.FIX_ARTIFACTS_BY_STRECHING_TEXEL = 0;
- cc.DIRECTOR_STATS_POSITION = cc.p(0, 0);
- cc.DIRECTOR_FPS_INTERVAL = 0.5;
- cc.COCOSNODE_RENDER_SUBPIXEL = 1;
- cc.SPRITEBATCHNODE_RENDER_SUBPIXEL = 1;
- cc.OPTIMIZE_BLEND_FUNC_FOR_PREMULTIPLIED_ALPHA = 0;
- cc.TEXTURE_ATLAS_USE_TRIANGLE_STRIP = 0;
- cc.TEXTURE_ATLAS_USE_VAO = 0;
- cc.TEXTURE_NPOT_SUPPORT = 0;
- cc.RETINA_DISPLAY_SUPPORT = 1;
- cc.RETINA_DISPLAY_FILENAME_SUFFIX = "-hd";
- cc.USE_LA88_LABELS = 1;
- cc.SPRITE_DEBUG_DRAW = 0;
- cc.SPRITEBATCHNODE_DEBUG_DRAW = 0;
- cc.LABELBMFONT_DEBUG_DRAW = 0;
- cc.LABELATLAS_DEBUG_DRAW = 0;
- cc.IS_RETINA_DISPLAY_SUPPORTED = 1;
- cc.DEFAULT_ENGINE = cc.ENGINE_VERSION + "-canvas";
- cc.ENABLE_STACKABLE_ACTIONS = 1;
- cc.ENABLE_GL_STATE_CACHE = 1;
- cc.$ = function (a) {
- var b = this == cc ? document : this;
- if (a = a instanceof HTMLElement ? a : b.querySelector(a)) a.find = a.find || cc.$,
- a.hasClass = a.hasClass ||
- function (a) {
- return this.className.match(RegExp("(\\s|^)" + a + "(\\s|$)"))
- },
- a.addClass = a.addClass ||
- function (a) {
- this.hasClass(a) || (this.className && (this.className += " "), this.className += a);
- return this
- },
- a.removeClass = a.removeClass ||
- function (a) {
- this.hasClass(a) && (this.className = this.className.replace(a, ""));
- return this
- },
- a.remove = a.remove ||
- function () {
- this.parentNode && this.parentNode.removeChild(this);
- return this
- },
- a.appendTo = a.appendTo ||
- function (a) {
- a.appendChild(this);
- return this
- },
- a.prependTo = a.prependTo ||
- function (a) {
- a.childNodes[0] ? a.insertBefore(this, a.childNodes[0]) : a.appendChild(this);
- return this
- },
- a.transforms = a.transforms ||
- function () {
- this.style[cc.$.trans] = cc.$.translate(this.position) + cc.$.rotate(this.rotation) + cc.$.scale(this.scale) + cc.$.skew(this.skew);
- return this
- },
- a.position = a.position || {
- x: 0,
- y: 0
- },
- a.rotation = a.rotation || 0,
- a.scale = a.scale || {
- x: 1,
- y: 1
- },
- a.skew = a.skew || {
- x: 0,
- y: 0
- },
- a.translates = function (a, b) {
- this.position.x = a;
- this.position.y = b;
- this.transforms();
- return this
- },
- a.rotate = function (a) {
- this.rotation = a;
- this.transforms();
- return this
- },
- a.resize = function (a, b) {
- this.scale.x = a;
- this.scale.y = b;
- this.transforms();
- return this
- },
- a.setSkew = function (a, b) {
- this.skew.x = a;
- this.skew.y = b;
- this.transforms();
- return this
- };
- return a
- };
- switch (cc.sys.browserType) {
- case cc.sys.BROWSER_TYPE_FIREFOX:
- cc.$.pfx = "Moz";
- cc.$.hd = !0;
- break;
- case cc.sys.BROWSER_TYPE_CHROME:
- case cc.sys.BROWSER_TYPE_SAFARI:
- cc.$.pfx = "webkit";
- cc.$.hd = !0;
- break;
- case cc.sys.BROWSER_TYPE_OPERA:
- cc.$.pfx = "O";
- cc.$.hd = !1;
- break;
- case cc.sys.BROWSER_TYPE_IE:
- cc.$.pfx = "ms";
- cc.$.hd = !1;
- break;
- default:
- cc.$.pfx = "webkit",
- cc.$.hd = !0
- }
- cc.$.trans = cc.$.pfx + "Transform";
- cc.$.translate = cc.$.hd ?
- function (a) {
- return "translate3d(" + a.x + "px, " + a.y + "px, 0) "
- } : function (a) {
- return "translate(" + a.x + "px, " + a.y + "px) "
- };
- cc.$.rotate = cc.$.hd ?
- function (a) {
- return "rotateZ(" + a + "deg) "
- } : function (a) {
- return "rotate(" + a + "deg) "
- };
- cc.$.scale = function (a) {
- return "scale(" + a.x + ", " + a.y + ") "
- };
- cc.$.skew = function (a) {
- return "skewX(" + -a.x + "deg) skewY(" + a.y + "deg)"
- };
- cc.$new = function (a) {
- return cc.$(document.createElement(a))
- };
- cc.$.findpos = function (a) {
- var b = 0,
- c = 0;
- do b += a.offsetLeft,
- c += a.offsetTop;
- while (a = a.offsetParent);
- return {
- x: b,
- y: c
- }
- };
- cc.INVALID_INDEX = -1;
- cc.PI = Math.PI;
- cc.FLT_MAX = parseFloat("3.402823466e+38F");
- cc.FLT_MIN = parseFloat("1.175494351e-38F");
- cc.RAD = cc.PI / 180;
- cc.DEG = 180 / cc.PI;
- cc.UINT_MAX = 4294967295;
- cc.swap = function (a, b, c) {
- if (!cc.isObject(c) || cc.isUndefined(c.x) || cc.isUndefined(c.y)) cc.log(cc._LogInfos.swap);
- else {
- var d = c[a];
- c[a] = c[b];
- c[b] = d
- }
- };
- cc.lerp = function (a, b, c) {
- return a + (b - a) * c
- };
- cc.rand = function () {
- return 16777215 * Math.random()
- };
- cc.randomMinus1To1 = function () {
- return 2 * (Math.random() - 0.5)
- };
- cc.random0To1 = Math.random;
- cc.degreesToRadians = function (a) {
- return a * cc.RAD
- };
- cc.radiansToDegrees = function (a) {
- return a * cc.DEG
- };
- cc.radiansToDegress = function (a) {
- cc.log(cc._LogInfos.radiansToDegress);
- return a * cc.DEG
- };
- cc.REPEAT_FOREVER = Number.MAX_VALUE - 1;
- cc.BLEND_SRC = cc.OPTIMIZE_BLEND_FUNC_FOR_PREMULTIPLIED_ALPHA ? 1 : 770;
- cc.BLEND_DST = 771;
- cc.nodeDrawSetup = function (a) {
- a._shaderProgram && (a._shaderProgram.use(), a._shaderProgram.setUniformForModelViewAndProjectionMatrixWithMat4())
- };
- cc.enableDefaultGLStates = function () { };
- cc.disableDefaultGLStates = function () { };
- cc.incrementGLDraws = function (a) {
- cc.g_NumberOfDraws += a
- };
- cc.FLT_EPSILON = 1.192092896E-7;
- cc.contentScaleFactor = cc.IS_RETINA_DISPLAY_SUPPORTED ?
- function () {
- return cc.director.getContentScaleFactor()
- } : function () {
- return 1
- };
- cc.pointPointsToPixels = function (a) {
- var b = cc.contentScaleFactor();
- return cc.p(a.x * b, a.y * b)
- };
- cc.pointPixelsToPoints = function (a) {
- var b = cc.contentScaleFactor();
- return cc.p(a.x / b, a.y / b)
- };
- cc._pointPixelsToPointsOut = function (a, b) {
- var c = cc.contentScaleFactor();
- b.x = a.x / c;
- b.y = a.y / c
- };
- cc.sizePointsToPixels = function (a) {
- var b = cc.contentScaleFactor();
- return cc.size(a.width * b, a.height * b)
- };
- cc.sizePixelsToPoints = function (a) {
- var b = cc.contentScaleFactor();
- return cc.size(a.width / b, a.height / b)
- };
- cc._sizePixelsToPointsOut = function (a, b) {
- var c = cc.contentScaleFactor();
- b.width = a.width / c;
- b.height = a.height / c
- };
- cc.rectPixelsToPoints = cc.IS_RETINA_DISPLAY_SUPPORTED ?
- function (a) {
- var b = cc.contentScaleFactor();
- return cc.rect(a.x / b, a.y / b, a.width / b, a.height / b)
- } : function (a) {
- return a
- };
- cc.rectPointsToPixels = cc.IS_RETINA_DISPLAY_SUPPORTED ?
- function (a) {
- var b = cc.contentScaleFactor();
- return cc.rect(a.x * b, a.y * b, a.width * b, a.height * b)
- } : function (a) {
- return a
- };
- cc.ONE = 1;
- cc.ZERO = 0;
- cc.SRC_ALPHA = 770;
- cc.SRC_ALPHA_SATURATE = 776;
- cc.SRC_COLOR = 768;
- cc.DST_ALPHA = 772;
- cc.DST_COLOR = 774;
- cc.ONE_MINUS_SRC_ALPHA = 771;
- cc.ONE_MINUS_SRC_COLOR = 769;
- cc.ONE_MINUS_DST_ALPHA = 773;
- cc.ONE_MINUS_DST_COLOR = 775;
- cc.ONE_MINUS_CONSTANT_ALPHA = 32772;
- cc.ONE_MINUS_CONSTANT_COLOR = 32770;
- cc.checkGLErrorDebug = function () {
- if (cc.renderMode == cc._RENDER_TYPE_WEBGL) {
- var a = cc._renderContext.getError();
- a && cc.log(cc._LogInfos.checkGLErrorDebug, a)
- }
- };
- cc.DEVICE_ORIENTATION_PORTRAIT = 0;
- cc.DEVICE_ORIENTATION_LANDSCAPE_LEFT = 1;
- cc.DEVICE_ORIENTATION_PORTRAIT_UPSIDE_DOWN = 2;
- cc.DEVICE_ORIENTATION_LANDSCAPE_RIGHT = 3;
- cc.DEVICE_MAX_ORIENTATIONS = 2;
- cc.VERTEX_ATTRIB_FLAG_NONE = 0;
- cc.VERTEX_ATTRIB_FLAG_POSITION = 1;
- cc.VERTEX_ATTRIB_FLAG_COLOR = 2;
- cc.VERTEX_ATTRIB_FLAG_TEX_COORDS = 4;
- cc.VERTEX_ATTRIB_FLAG_POS_COLOR_TEX = cc.VERTEX_ATTRIB_FLAG_POSITION | cc.VERTEX_ATTRIB_FLAG_COLOR | cc.VERTEX_ATTRIB_FLAG_TEX_COORDS;
- cc.GL_ALL = 0;
- cc.VERTEX_ATTRIB_POSITION = 0;
- cc.VERTEX_ATTRIB_COLOR = 1;
- cc.VERTEX_ATTRIB_TEX_COORDS = 2;
- cc.VERTEX_ATTRIB_MAX = 3;
- cc.UNIFORM_PMATRIX = 0;
- cc.UNIFORM_MVMATRIX = 1;
- cc.UNIFORM_MVPMATRIX = 2;
- cc.UNIFORM_TIME = 3;
- cc.UNIFORM_SINTIME = 4;
- cc.UNIFORM_COSTIME = 5;
- cc.UNIFORM_RANDOM01 = 6;
- cc.UNIFORM_SAMPLER = 7;
- cc.UNIFORM_MAX = 8;
- cc.SHADER_POSITION_TEXTURECOLOR = "ShaderPositionTextureColor";
- cc.SHADER_POSITION_TEXTURECOLORALPHATEST = "ShaderPositionTextureColorAlphaTest";
- cc.SHADER_POSITION_COLOR = "ShaderPositionColor";
- cc.SHADER_POSITION_TEXTURE = "ShaderPositionTexture";
- cc.SHADER_POSITION_TEXTURE_UCOLOR = "ShaderPositionTexture_uColor";
- cc.SHADER_POSITION_TEXTUREA8COLOR = "ShaderPositionTextureA8Color";
- cc.SHADER_POSITION_UCOLOR = "ShaderPosition_uColor";
- cc.SHADER_POSITION_LENGTHTEXTURECOLOR = "ShaderPositionLengthTextureColor";
- cc.UNIFORM_PMATRIX_S = "CC_PMatrix";
- cc.UNIFORM_MVMATRIX_S = "CC_MVMatrix";
- cc.UNIFORM_MVPMATRIX_S = "CC_MVPMatrix";
- cc.UNIFORM_TIME_S = "CC_Time";
- cc.UNIFORM_SINTIME_S = "CC_SinTime";
- cc.UNIFORM_COSTIME_S = "CC_CosTime";
- cc.UNIFORM_RANDOM01_S = "CC_Random01";
- cc.UNIFORM_SAMPLER_S = "CC_Texture0";
- cc.UNIFORM_ALPHA_TEST_VALUE_S = "CC_alpha_value";
- cc.ATTRIBUTE_NAME_COLOR = "a_color";
- cc.ATTRIBUTE_NAME_POSITION = "a_position";
- cc.ATTRIBUTE_NAME_TEX_COORD = "a_texCoord";
- cc.ITEM_SIZE = 32;
- cc.CURRENT_ITEM = 3233828865;
- cc.ZOOM_ACTION_TAG = 3233828866;
- cc.NORMAL_TAG = 8801;
- cc.SELECTED_TAG = 8802;
- cc.DISABLE_TAG = 8803;
- cc.arrayVerifyType = function (a, b) {
- if (a && 0 < a.length) for (var c = 0; c < a.length; c++) if (!(a[c] instanceof b)) return cc.log("element type is wrong!"),
- !1;
- return !0
- };
- cc.arrayRemoveObject = function (a, b) {
- for (var c = 0, d = a.length; c < d; c++) if (a[c] == b) {
- a.splice(c, 1);
- break
- }
- };
- cc.arrayRemoveArray = function (a, b) {
- for (var c = 0, d = b.length; c < d; c++) cc.arrayRemoveObject(a, b[c])
- };
- cc.arrayAppendObjectsToIndex = function (a, b, c) {
- a.splice.apply(a, [c, 0].concat(b));
- return a
- };
- cc.copyArray = function (a) {
- var b,
- c = a.length,
- d = Array(c);
- for (b = 0; b < c; b += 1) d[b] = a[b];
- return d
- };
- cc = cc || {};
- cc._tmp = cc._tmp || {};
- cc._tmp.WebGLColor = function () {
- cc.color = function (a, c, d, e, f, g) {
- return void 0 === a ? new cc.Color(0, 0, 0, 255, f, g) : cc.isString(a) ? (a = cc.hexToColor(a), new cc.Color(a.r, a.g, a.b, a.a)) : cc.isObject(a) ? new cc.Color(a.r, a.g, a.b, a.a, a.arrayBuffer, a.offset) : new cc.Color(a, c, d, e, f, g)
- };
- cc.Color = function (a, c, d, e, f, g) {
- this._arrayBuffer = f || new ArrayBuffer(cc.Color.BYTES_PER_ELEMENT);
- this._offset = g || 0;
- f = this._arrayBuffer;
- g = this._offset;
- var h = Uint8Array.BYTES_PER_ELEMENT;
- this._rU8 = new Uint8Array(f, g, 1);
- this._gU8 = new Uint8Array(f, g + h, 1);
- this._bU8 = new Uint8Array(f, g + 2 * h, 1);
- this._aU8 = new Uint8Array(f, g + 3 * h, 1);
- this._rU8[0] = a || 0;
- this._gU8[0] = c || 0;
- this._bU8[0] = d || 0;
- this._aU8[0] = null == e ? 255 : e;
- void 0 === e && (this.a_undefined = !0)
- };
- cc.Color.BYTES_PER_ELEMENT = 4;
- var a = cc.Color.prototype;
- a._getR = function () {
- return this._rU8[0]
- };
- a._setR = function (a) {
- this._rU8[0] = 0 > a ? 0 : a
- };
- a._getG = function () {
- return this._gU8[0]
- };
- a._setG = function (a) {
- this._gU8[0] = 0 > a ? 0 : a
- };
- a._getB = function () {
- return this._bU8[0]
- };
- a._setB = function (a) {
- this._bU8[0] = 0 > a ? 0 : a
- };
- a._getA = function () {
- return this._aU8[0]
- };
- a._setA = function (a) {
- this._aU8[0] = 0 > a ? 0 : a
- };
- cc.defineGetterSetter(a, "r", a._getR, a._setR);
- cc.defineGetterSetter(a, "g", a._getG, a._setG);
- cc.defineGetterSetter(a, "b", a._getB, a._setB);
- cc.defineGetterSetter(a, "a", a._getA, a._setA);
- cc.Vertex2F = function (a, c, d, e) {
- this._arrayBuffer = d || new ArrayBuffer(cc.Vertex2F.BYTES_PER_ELEMENT);
- this._offset = e || 0;
- this._xF32 = new Float32Array(this._arrayBuffer, this._offset, 1);
- this._yF32 = new Float32Array(this._arrayBuffer, this._offset + 4, 1);
- this._xF32[0] = a || 0;
- this._yF32[0] = c || 0
- };
- cc.Vertex2F.BYTES_PER_ELEMENT = 8;
- Object.defineProperties(cc.Vertex2F.prototype, {
- x: {
- get: function () {
- return this._xF32[0]
- },
- set: function (a) {
- this._xF32[0] = a
- },
- enumerable: !0
- },
- y: {
- get: function () {
- return this._yF32[0]
- },
- set: function (a) {
- this._yF32[0] = a
- },
- enumerable: !0
- }
- });
- cc.Vertex3F = function (a, c, d, e, f) {
- this._arrayBuffer = e || new ArrayBuffer(cc.Vertex3F.BYTES_PER_ELEMENT);
- this._offset = f || 0;
- e = this._arrayBuffer;
- f = this._offset;
- this._xF32 = new Float32Array(e, f, 1);
- this._xF32[0] = a || 0;
- this._yF32 = new Float32Array(e, f + Float32Array.BYTES_PER_ELEMENT, 1);
- this._yF32[0] = c || 0;
- this._zF32 = new Float32Array(e, f + 2 * Float32Array.BYTES_PER_ELEMENT, 1);
- this._zF32[0] = d || 0
- };
- cc.Vertex3F.BYTES_PER_ELEMENT = 12;
- Object.defineProperties(cc.Vertex3F.prototype, {
- x: {
- get: function () {
- return this._xF32[0]
- },
- set: function (a) {
- this._xF32[0] = a
- },
- enumerable: !0
- },
- y: {
- get: function () {
- return this._yF32[0]
- },
- set: function (a) {
- this._yF32[0] = a
- },
- enumerable: !0
- },
- z: {
- get: function () {
- return this._zF32[0]
- },
- set: function (a) {
- this._zF32[0] = a
- },
- enumerable: !0
- }
- });
- cc.Tex2F = function (a, c, d, e) {
- this._arrayBuffer = d || new ArrayBuffer(cc.Tex2F.BYTES_PER_ELEMENT);
- this._offset = e || 0;
- this._uF32 = new Float32Array(this._arrayBuffer, this._offset, 1);
- this._vF32 = new Float32Array(this._arrayBuffer, this._offset + 4, 1);
- this._uF32[0] = a || 0;
- this._vF32[0] = c || 0
- };
- cc.Tex2F.BYTES_PER_ELEMENT = 8;
- Object.defineProperties(cc.Tex2F.prototype, {
- u: {
- get: function () {
- return this._uF32[0]
- },
- set: function (a) {
- this._uF32[0] = a
- },
- enumerable: !0
- },
- v: {
- get: function () {
- return this._vF32[0]
- },
- set: function (a) {
- this._vF32[0] = a
- },
- enumerable: !0
- }
- });
- cc.Quad2 = function (a, c, d, e, f, g) {
- this._arrayBuffer = f || new ArrayBuffer(cc.Quad2.BYTES_PER_ELEMENT);
- this._offset = g || 0;
- f = this._arrayBuffer;
- g = cc.Vertex2F.BYTES_PER_ELEMENT;
- this._tl = a ? new cc.Vertex2F(a.x, a.y, f, 0) : new cc.Vertex2F(0, 0, f, 0);
- this._tr = c ? new cc.Vertex2F(c.x, c.y, f, g) : new cc.Vertex2F(0, 0, f, g);
- this._bl = d ? new cc.Vertex2F(d.x, d.y, f, 2 * g) : new cc.Vertex2F(0, 0, f, 2 * g);
- this._br = e ? new cc.Vertex2F(e.x, e.y, f, 3 * g) : new cc.Vertex2F(0, 0, f, 3 * g)
- };
- cc.Quad2.BYTES_PER_ELEMENT = 32;
- cc.Quad3 = function (a, c, d, e) {
- this.bl = a || new cc.Vertex3F(0, 0, 0);
- this.br = c || new cc.Vertex3F(0, 0, 0);
- this.tl = d || new cc.Vertex3F(0, 0, 0);
- this.tr = e || new cc.Vertex3F(0, 0, 0)
- };
- Object.defineProperties(cc.Quad2.prototype, {
- tl: {
- get: function () {
- return this._tl
- },
- set: function (a) {
- this._tl.x = a.x;
- this._tl.y = a.y
- },
- enumerable: !0
- },
- tr: {
- get: function () {
- return this._tr
- },
- set: function (a) {
- this._tr.x = a.x;
- this._tr.y = a.y
- },
- enumerable: !0
- },
- bl: {
- get: function () {
- return this._bl
- },
- set: function (a) {
- this._bl.x = a.x;
- this._bl.y = a.y
- },
- enumerable: !0
- },
- br: {
- get: function () {
- return this._br
- },
- set: function (a) {
- this._br.x = a.x;
- this._br.y = a.y
- },
- enumerable: !0
- }
- });
- cc.V3F_C4B_T2F = function (a, c, d, e, f) {
- this._arrayBuffer = e || new ArrayBuffer(cc.V3F_C4B_T2F.BYTES_PER_ELEMENT);
- this._offset = f || 0;
- e = this._arrayBuffer;
- f = this._offset;
- var g = cc.Vertex3F.BYTES_PER_ELEMENT;
- this._vertices = a ? new cc.Vertex3F(a.x, a.y, a.z, e, f) : new cc.Vertex3F(0, 0, 0, e, f);
- this._colors = c ? cc.color(c.r, c.g, c.b, c.a, e, f + g) : cc.color(0, 0, 0, 0, e, f + g);
- this._texCoords = d ? new cc.Tex2F(d.u, d.v, e, f + g + cc.Color.BYTES_PER_ELEMENT) : new cc.Tex2F(0, 0, e, f + g + cc.Color.BYTES_PER_ELEMENT)
- };
- cc.V3F_C4B_T2F.BYTES_PER_ELEMENT = 24;
- Object.defineProperties(cc.V3F_C4B_T2F.prototype, {
- vertices: {
- get: function () {
- return this._vertices
- },
- set: function (a) {
- var c = this._vertices;
- c.x = a.x;
- c.y = a.y;
- c.z = a.z
- },
- enumerable: !0
- },
- colors: {
- get: function () {
- return this._colors
- },
- set: function (a) {
- var c = this._colors;
- c.r = a.r;
- c.g = a.g;
- c.b = a.b;
- c.a = a.a
- },
- enumerable: !0
- },
- texCoords: {
- get: function () {
- return this._texCoords
- },
- set: function (a) {
- this._texCoords.u = a.u;
- this._texCoords.v = a.v
- },
- enumerable: !0
- }
- });
- cc.V3F_C4B_T2F_Quad = function (a, c, d, e, f, g) {
- this._arrayBuffer = f || new ArrayBuffer(cc.V3F_C4B_T2F_Quad.BYTES_PER_ELEMENT);
- this._offset = g || 0;
- f = this._arrayBuffer;
- g = this._offset;
- var h = cc.V3F_C4B_T2F.BYTES_PER_ELEMENT;
- this._tl = a ? new cc.V3F_C4B_T2F(a.vertices, a.colors, a.texCoords, f, g) : new cc.V3F_C4B_T2F(null, null, null, f, g);
- this._bl = c ? new cc.V3F_C4B_T2F(c.vertices, c.colors, c.texCoords, f, g + h) : new cc.V3F_C4B_T2F(null, null, null, f, g + h);
- this._tr = d ? new cc.V3F_C4B_T2F(d.vertices, d.colors, d.texCoords, f, g + 2 * h) : new cc.V3F_C4B_T2F(null, null, null, f, g + 2 * h);
- this._br = e ? new cc.V3F_C4B_T2F(e.vertices, e.colors, e.texCoords, f, g + 3 * h) : new cc.V3F_C4B_T2F(null, null, null, f, g + 3 * h)
- };
- cc.V3F_C4B_T2F_Quad.BYTES_PER_ELEMENT = 96;
- Object.defineProperties(cc.V3F_C4B_T2F_Quad.prototype, {
- tl: {
- get: function () {
- return this._tl
- },
- set: function (a) {
- var c = this._tl;
- c.vertices = a.vertices;
- c.colors = a.colors;
- c.texCoords = a.texCoords
- },
- enumerable: !0
- },
- bl: {
- get: function () {
- return this._bl
- },
- set: function (a) {
- var c = this._bl;
- c.vertices = a.vertices;
- c.colors = a.colors;
- c.texCoords = a.texCoords
- },
- enumerable: !0
- },
- tr: {
- get: function () {
- return this._tr
- },
- set: function (a) {
- var c = this._tr;
- c.vertices = a.vertices;
- c.colors = a.colors;
- c.texCoords = a.texCoords
- },
- enumerable: !0
- },
- br: {
- get: function () {
- return this._br
- },
- set: function (a) {
- var c = this._br;
- c.vertices = a.vertices;
- c.colors = a.colors;
- c.texCoords = a.texCoords
- },
- enumerable: !0
- },
- arrayBuffer: {
- get: function () {
- return this._arrayBuffer
- },
- enumerable: !0
- }
- });
- cc.V3F_C4B_T2F_QuadZero = function () {
- return new cc.V3F_C4B_T2F_Quad
- };
- cc.V3F_C4B_T2F_QuadCopy = function (a) {
- if (!a) return cc.V3F_C4B_T2F_QuadZero();
- var c = a.tl,
- d = a.bl,
- e = a.tr;
- a = a.br;
- return {
- tl: {
- vertices: {
- x: c.vertices.x,
- y: c.vertices.y,
- z: c.vertices.z
- },
- colors: {
- r: c.colors.r,
- g: c.colors.g,
- b: c.colors.b,
- a: c.colors.a
- },
- texCoords: {
- u: c.texCoords.u,
- v: c.texCoords.v
- }
- },
- bl: {
- vertices: {
- x: d.vertices.x,
- y: d.vertices.y,
- z: d.vertices.z
- },
- colors: {
- r: d.colors.r,
- g: d.colors.g,
- b: d.colors.b,
- a: d.colors.a
- },
- texCoords: {
- u: d.texCoords.u,
- v: d.texCoords.v
- }
- },
- tr: {
- vertices: {
- x: e.vertices.x,
- y: e.vertices.y,
- z: e.vertices.z
- },
- colors: {
- r: e.colors.r,
- g: e.colors.g,
- b: e.colors.b,
- a: e.colors.a
- },
- texCoords: {
- u: e.texCoords.u,
- v: e.texCoords.v
- }
- },
- br: {
- vertices: {
- x: a.vertices.x,
- y: a.vertices.y,
- z: a.vertices.z
- },
- colors: {
- r: a.colors.r,
- g: a.colors.g,
- b: a.colors.b,
- a: a.colors.a
- },
- texCoords: {
- u: a.texCoords.u,
- v: a.texCoords.v
- }
- }
- }
- };
- cc.V3F_C4B_T2F_QuadsCopy = function (a) {
- if (!a) return [];
- for (var c = [], d = 0; d < a.length; d++) c.push(cc.V3F_C4B_T2F_QuadCopy(a[d]));
- return c
- };
- cc.V2F_C4B_T2F = function (a, c, d, e, f) {
- this._arrayBuffer = e || new ArrayBuffer(cc.V2F_C4B_T2F.BYTES_PER_ELEMENT);
- this._offset = f || 0;
- e = this._arrayBuffer;
- f = this._offset;
- var g = cc.Vertex2F.BYTES_PER_ELEMENT;
- this._vertices = a ? new cc.Vertex2F(a.x, a.y, e, f) : new cc.Vertex2F(0, 0, e, f);
- this._colors = c ? cc.color(c.r, c.g, c.b, c.a, e, f + g) : cc.color(0, 0, 0, 0, e, f + g);
- this._texCoords = d ? new cc.Tex2F(d.u, d.v, e, f + g + cc.Color.BYTES_PER_ELEMENT) : new cc.Tex2F(0, 0, e, f + g + cc.Color.BYTES_PER_ELEMENT)
- };
- cc.V2F_C4B_T2F.BYTES_PER_ELEMENT = 20;
- Object.defineProperties(cc.V2F_C4B_T2F.prototype, {
- vertices: {
- get: function () {
- return this._vertices
- },
- set: function (a) {
- this._vertices.x = a.x;
- this._vertices.y = a.y
- },
- enumerable: !0
- },
- colors: {
- get: function () {
- return this._colors
- },
- set: function (a) {
- var c = this._colors;
- c.r = a.r;
- c.g = a.g;
- c.b = a.b;
- c.a = a.a
- },
- enumerable: !0
- },
- texCoords: {
- get: function () {
- return this._texCoords
- },
- set: function (a) {
- this._texCoords.u = a.u;
- this._texCoords.v = a.v
- },
- enumerable: !0
- }
- });
- cc.V2F_C4B_T2F_Triangle = function (a, c, d, e, f) {
- this._arrayBuffer = e || new ArrayBuffer(cc.V2F_C4B_T2F_Triangle.BYTES_PER_ELEMENT);
- this._offset = f || 0;
- e = this._arrayBuffer;
- f = this._offset;
- var g = cc.V2F_C4B_T2F.BYTES_PER_ELEMENT;
- this._a = a ? new cc.V2F_C4B_T2F(a.vertices, a.colors, a.texCoords, e, f) : new cc.V2F_C4B_T2F(null, null, null, e, f);
- this._b = c ? new cc.V2F_C4B_T2F(c.vertices, c.colors, c.texCoords, e, f + g) : new cc.V2F_C4B_T2F(null, null, null, e, f + g);
- this._c = d ? new cc.V2F_C4B_T2F(d.vertices, d.colors, d.texCoords, e, f + 2 * g) : new cc.V2F_C4B_T2F(null, null, null, e, f + 2 * g)
- };
- cc.V2F_C4B_T2F_Triangle.BYTES_PER_ELEMENT = 60;
- Object.defineProperties(cc.V2F_C4B_T2F_Triangle.prototype, {
- a: {
- get: function () {
- return this._a
- },
- set: function (a) {
- var c = this._a;
- c.vertices = a.vertices;
- c.colors = a.colors;
- c.texCoords = a.texCoords
- },
- enumerable: !0
- },
- b: {
- get: function () {
- return this._b
- },
- set: function (a) {
- var c = this._b;
- c.vertices = a.vertices;
- c.colors = a.colors;
- c.texCoords = a.texCoords
- },
- enumerable: !0
- },
- c: {
- get: function () {
- return this._c
- },
- set: function (a) {
- var c = this._c;
- c.vertices = a.vertices;
- c.colors = a.colors;
- c.texCoords = a.texCoords
- },
- enumerable: !0
- }
- })
- };
- cc._tmp.PrototypeColor = function () {
- var a = cc.color;
- a._getWhite = function () {
- return a(255, 255, 255)
- };
- a._getYellow = function () {
- return a(255, 255, 0)
- };
- a._getBlue = function () {
- return a(0, 0, 255)
- };
- a._getGreen = function () {
- return a(0, 255, 0)
- };
- a._getRed = function () {
- return a(255, 0, 0)
- };
- a._getMagenta = function () {
- return a(255, 0, 255)
- };
- a._getBlack = function () {
- return a(0, 0, 0)
- };
- a._getOrange = function () {
- return a(255, 127, 0)
- };
- a._getGray = function () {
- return a(166, 166, 166)
- };
- cc.defineGetterSetter(a, "WHITE", a._getWhite);
- cc.defineGetterSetter(a, "YELLOW", a._getYellow);
- cc.defineGetterSetter(a, "BLUE", a._getBlue);
- cc.defineGetterSetter(a, "GREEN", a._getGreen);
- cc.defineGetterSetter(a, "RED", a._getRed);
- cc.defineGetterSetter(a, "MAGENTA", a._getMagenta);
- cc.defineGetterSetter(a, "BLACK", a._getBlack);
- cc.defineGetterSetter(a, "ORANGE", a._getOrange);
- cc.defineGetterSetter(a, "GRAY", a._getGray);
- cc.BlendFunc._disable = function () {
- return new cc.BlendFunc(cc.ONE, cc.ZERO)
- };
- cc.BlendFunc._alphaPremultiplied = function () {
- return new cc.BlendFunc(cc.ONE, cc.ONE_MINUS_SRC_ALPHA)
- };
- cc.BlendFunc._alphaNonPremultiplied = function () {
- return new cc.BlendFunc(cc.SRC_ALPHA, cc.ONE_MINUS_SRC_ALPHA)
- };
- cc.BlendFunc._additive = function () {
- return new cc.BlendFunc(cc.SRC_ALPHA, cc.ONE)
- };
- cc.defineGetterSetter(cc.BlendFunc, "DISABLE", cc.BlendFunc._disable);
- cc.defineGetterSetter(cc.BlendFunc, "ALPHA_PREMULTIPLIED", cc.BlendFunc._alphaPremultiplied);
- cc.defineGetterSetter(cc.BlendFunc, "ALPHA_NON_PREMULTIPLIED", cc.BlendFunc._alphaNonPremultiplied);
- cc.defineGetterSetter(cc.BlendFunc, "ADDITIVE", cc.BlendFunc._additive)
- };
- cc.Color = function (a, b, c, d) {
- this.r = a || 0;
- this.g = b || 0;
- this.b = c || 0;
- this.a = null == d ? 255 : d
- };
- cc.color = function (a, b, c, d) {
- return void 0 === a ? {
- r: 0,
- g: 0,
- b: 0,
- a: 255
- } : cc.isString(a) ? cc.hexToColor(a) : cc.isObject(a) ? {
- r: a.r,
- g: a.g,
- b: a.b,
- a: null == a.a ? 255 : a.a
- } : {
- r: a,
- g: b,
- b: c,
- a: null == d ? 255 : d
- }
- };
- cc.colorEqual = function (a, b) {
- return a.r === b.r && a.g === b.g && a.b === b.b
- };
- cc.Acceleration = function (a, b, c, d) {
- this.x = a || 0;
- this.y = b || 0;
- this.z = c || 0;
- this.timestamp = d || 0
- };
- cc.Vertex2F = function (a, b) {
- this.x = a || 0;
- this.y = b || 0
- };
- cc.vertex2 = function (a, b) {
- return new cc.Vertex2F(a, b)
- };
- cc.Vertex3F = function (a, b, c) {
- this.x = a || 0;
- this.y = b || 0;
- this.z = c || 0
- };
- cc.vertex3 = function (a, b, c) {
- return new cc.Vertex3F(a, b, c)
- };
- cc.Tex2F = function (a, b) {
- this.u = a || 0;
- this.v = b || 0
- };
- cc.tex2 = function (a, b) {
- return new cc.Tex2F(a, b)
- };
- cc.BlendFunc = function (a, b) {
- this.src = a;
- this.dst = b
- };
- cc.blendFuncDisable = function () {
- return new cc.BlendFunc(cc.ONE, cc.ZERO)
- };
- cc.hexToColor = function (a) {
- a = a.replace(/^#?/, "0x");
- a = parseInt(a);
- return cc.color(a >> 16, (a >> 8) % 256, a % 256)
- };
- cc.colorToHex = function (a) {
- var b = a.r.toString(16),
- c = a.g.toString(16),
- d = a.b.toString(16);
- return "#" + (16 > a.r ? "0" + b : b) + (16 > a.g ? "0" + c : c) + (16 > a.b ? "0" + d : d)
- };
- cc.TEXT_ALIGNMENT_LEFT = 0;
- cc.TEXT_ALIGNMENT_CENTER = 1;
- cc.TEXT_ALIGNMENT_RIGHT = 2;
- cc.VERTICAL_TEXT_ALIGNMENT_TOP = 0;
- cc.VERTICAL_TEXT_ALIGNMENT_CENTER = 1;
- cc.VERTICAL_TEXT_ALIGNMENT_BOTTOM = 2;
- cc._Dictionary = cc.Class.extend({
- _keyMapTb: null,
- _valueMapTb: null,
- __currId: 0,
- ctor: function () {
- this._keyMapTb = {};
- this._valueMapTb = {};
- this.__currId = 2 << (0 | 10 * Math.random())
- },
- __getKey: function () {
- this.__currId++;
- return "key_" + this.__currId
- },
- setObject: function (a, b) {
- if (null != b) {
- var c = this.__getKey();
- this._keyMapTb[c] = b;
- this._valueMapTb[c] = a
- }
- },
- objectForKey: function (a) {
- if (null == a) return null;
- var b = this._keyMapTb,
- c;
- for (c in b) if (b[c] === a) return this._valueMapTb[c];
- return null
- },
- valueForKey: function (a) {
- return this.objectForKey(a)
- },
- removeObjectForKey: function (a) {
- if (null != a) {
- var b = this._keyMapTb,
- c;
- for (c in b) if (b[c] === a) {
- delete this._valueMapTb[c];
- delete b[c];
- break
- }
- }
- },
- removeObjectsForKeys: function (a) {
- if (null != a) for (var b = 0; b < a.length; b++) this.removeObjectForKey(a[b])
- },
- allKeys: function () {
- var a = [],
- b = this._keyMapTb,
- c;
- for (c in b) a.push(b[c]);
- return a
- },
- removeAllObjects: function () {
- this._keyMapTb = {};
- this._valueMapTb = {}
- },
- count: function () {
- return this.allKeys().length
- }
- });
- cc.FontDefinition = function () {
- this.fontName = "Arial";
- this.fontSize = 12;
- this.textAlign = cc.TEXT_ALIGNMENT_CENTER;
- this.verticalAlign = cc.VERTICAL_TEXT_ALIGNMENT_TOP;
- this.fillStyle = cc.color(255, 255, 255, 255);
- this.boundingHeight = this.boundingWidth = 0;
- this.strokeEnabled = !1;
- this.strokeStyle = cc.color(255, 255, 255, 255);
- this.lineWidth = 1;
- this.shadowEnabled = !1;
- this.shadowBlur = this.shadowOffsetY = this.shadowOffsetX = 0;
- this.shadowOpacity = 1
- };
- cc._renderType === cc._RENDER_TYPE_WEBGL && (cc.assert(cc.isFunction(cc._tmp.WebGLColor), cc._LogInfos.MissingFile, "CCTypesWebGL.js"), cc._tmp.WebGLColor(), delete cc._tmp.WebGLColor);
- cc.assert(cc.isFunction(cc._tmp.PrototypeColor), cc._LogInfos.MissingFile, "CCTypesPropertyDefine.js");
- cc._tmp.PrototypeColor();
- delete cc._tmp.PrototypeColor;
- cc.Touches = [];
- cc.TouchesIntergerDict = {};
- cc.DENSITYDPI_DEVICE = "device-dpi";
- cc.DENSITYDPI_HIGH = "high-dpi";
- cc.DENSITYDPI_MEDIUM = "medium-dpi";
- cc.DENSITYDPI_LOW = "low-dpi";
- cc.EGLView = cc.Class.extend({
- _delegate: null,
- _frameSize: null,
- _designResolutionSize: null,
- _originalDesignResolutionSize: null,
- _viewPortRect: null,
- _visibleRect: null,
- _retinaEnabled: !1,
- _autoFullScreen: !0,
- _devicePixelRatio: 1,
- _viewName: "",
- _resizeCallback: null,
- _scaleX: 1,
- _originalScaleX: 1,
- _scaleY: 1,
- _originalScaleY: 1,
- _indexBitsUsed: 0,
- _maxTouches: 5,
- _resolutionPolicy: null,
- _rpExactFit: null,
- _rpShowAll: null,
- _rpNoBorder: null,
- _rpFixedHeight: null,
- _rpFixedWidth: null,
- _initialized: !1,
- _captured: !1,
- _wnd: null,
- _hDC: null,
- _hRC: null,
- _supportTouch: !1,
- _contentTranslateLeftTop: null,
- _frame: null,
- _frameZoomFactor: 1,
- __resizeWithBrowserSize: !1,
- _isAdjustViewPort: !0,
- _targetDensityDPI: null,
- ctor: function () {
- var a = document,
- b = cc.ContainerStrategy,
- c = cc.ContentStrategy;
- this._frame = cc.container.parentNode === a.body ? a.documentElement : cc.container.parentNode;
- this._frameSize = cc.size(0, 0);
- this._initFrameSize();
- var a = cc._canvas.width,
- d = cc._canvas.height;
- this._designResolutionSize = cc.size(a, d);
- this._originalDesignResolutionSize = cc.size(a, d);
- this._viewPortRect = cc.rect(0, 0, a, d);
- this._visibleRect = cc.rect(0, 0, a, d);
- this._contentTranslateLeftTop = {
- left: 0,
- top: 0
- };
- this._viewName = "Cocos2dHTML5";
- a = cc.sys;
- this.enableRetina(a.os == a.OS_IOS || a.os == a.OS_OSX);
- cc.visibleRect && cc.visibleRect.init(this._visibleRect);
- this._rpExactFit = new cc.ResolutionPolicy(b.EQUAL_TO_FRAME, c.EXACT_FIT);
- this._rpShowAll = new cc.ResolutionPolicy(b.PROPORTION_TO_FRAME, c.SHOW_ALL);
- this._rpNoBorder = new cc.ResolutionPolicy(b.EQUAL_TO_FRAME, c.NO_BORDER);
- this._rpFixedHeight = new cc.ResolutionPolicy(b.EQUAL_TO_FRAME, c.FIXED_HEIGHT);
- this._rpFixedWidth = new cc.ResolutionPolicy(b.EQUAL_TO_FRAME, c.FIXED_WIDTH);
- this._hDC = cc._canvas;
- this._hRC = cc._renderContext;
- this._targetDensityDPI = cc.DENSITYDPI_HIGH
- },
- _resizeEvent: function () {
- var a = this._originalDesignResolutionSize.width,
- b = this._originalDesignResolutionSize.height;
- this._resizeCallback && (this._initFrameSize(), this._resizeCallback.call());
- 0 < a && this.setDesignResolutionSize(a, b, this._resolutionPolicy)
- },
- setTargetDensityDPI: function (a) {
- this._targetDensityDPI = a;
- this._setViewPortMeta()
- },
- getTargetDensityDPI: function () {
- return this._targetDensityDPI
- },
- resizeWithBrowserSize: function (a) {
- a ? this.__resizeWithBrowserSize || (this.__resizeWithBrowserSize = !0, a = this._resizeEvent.bind(this), cc._addEventListener(window, "resize", a, !1)) : this.__resizeWithBrowserSize && (this.__resizeWithBrowserSize = !0, a = this._resizeEvent.bind(this), window.removeEventListener("resize", a, !1))
- },
- setResizeCallback: function (a) {
- if (cc.isFunction(a) || null == a) this._resizeCallback = a
- },
- _initFrameSize: function () {
- var a = this._frameSize,
- b = Math.min(window.screen.availWidth, window.screen.width) * window.devicePixelRatio,
- c = Math.min(window.screen.availHeight, window.screen.height) * window.devicePixelRatio;
- a.width = cc.sys.isMobile && this._frame.clientWidth >= 0.8 * b ? b / window.devicePixelRatio : this._frame.clientWidth;
- a.height = cc.sys.isMobile && this._frame.clientWidth >= 0.8 * c ? c / window.devicePixelRatio : this._frame.clientHeight
- },
- _adjustSizeKeepCanvasSize: function () {
- var a = this._originalDesignResolutionSize.width,
- b = this._originalDesignResolutionSize.height;
- 0 < a && this.setDesignResolutionSize(a, b, this._resolutionPolicy)
- },
- _setViewPortMeta: function (a, b) {
- if (this._isAdjustViewPort) {
- var c = document.getElementById("cocosMetaElement");
- c && document.head.removeChild(c);
- var d,
- e = document.getElementsByName("viewport"),
- f,
- c = cc.newElement("meta");
- c.id = "cocosMetaElement";
- c.name = "viewport";
- c.content = "";
- d = cc.sys.isMobile && cc.sys.browserType == cc.sys.BROWSER_TYPE_FIREFOX ? {
- width: "device-width",
- "initial-scale": "1.0"
- } : {
- width: "device-width",
- "user-scalable": "no",
- "maximum-scale": "1.0",
- "initial-scale": "1.0"
- };
- cc.sys.isMobile && (d["target-densitydpi"] = this._targetDensityDPI);
- f = e && 0 < e.length ? e[0].content : "";
- for (var g in d) RegExp(g).test(f) || (f += "," + g + "\x3d" + d[g]);
- e || "" == f || (f = f.substr(1));
- c.content = f;
- document.head.appendChild(c)
- }
- },
- _setScaleXYForRenderTexture: function () {
- var a = cc.contentScaleFactor();
- this._scaleY = this._scaleX = a
- },
- _resetScale: function () {
- this._scaleX = this._originalScaleX;
- this._scaleY = this._originalScaleY
- },
- _adjustSizeToBrowser: function () { },
- initialize: function () {
- this._initialized = !0
- },
- adjustViewPort: function (a) {
- this._isAdjustViewPort = a
- },
- enableRetina: function (a) {
- this._retinaEnabled = a ? !0 : !1
- },
- isRetinaEnabled: function () {
- return this._retinaEnabled
- },
- enableAutoFullScreen: function (a) {
- this._autoFullScreen = a ? !0 : !1
- },
- isAutoFullScreenEnabled: function () {
- return this._autoFullScreen
- },
- end: function () { },
- isOpenGLReady: function () {
- return null != this._hDC && null != this._hRC
- },
- setFrameZoomFactor: function (a) {
- this._frameZoomFactor = a;
- this.centerWindow();
- cc.director.setProjection(cc.director.getProjection())
- },
- swapBuffers: function () { },
- setIMEKeyboardState: function (a) { },
- setContentTranslateLeftTop: function (a, b) {
- this._contentTranslateLeftTop = {
- left: a,
- top: b
- }
- },
- getContentTranslateLeftTop: function () {
- return this._contentTranslateLeftTop
- },
- getFrameSize: function () {
- return cc.size(this._frameSize.width, this._frameSize.height)
- },
- setFrameSize: function (a, b) {
- this._frameSize.width = a;
- this._frameSize.height = b;
- this._frame.style.width = a + "px";
- this._frame.style.height = b + "px";
- this._resizeEvent();
- cc.director.setProjection(cc.director.getProjection())
- },
- centerWindow: function () { },
- getVisibleSize: function () {
- return cc.size(this._visibleRect.width, this._visibleRect.height)
- },
- getVisibleOrigin: function () {
- return cc.p(this._visibleRect.x, this._visibleRect.y)
- },
- canSetContentScaleFactor: function () {
- return !0
- },
- getResolutionPolicy: function () {
- return this._resolutionPolicy
- },
- setResolutionPolicy: function (a) {
- if (a instanceof cc.ResolutionPolicy) this._resolutionPolicy = a;
- else {
- var b = cc.ResolutionPolicy;
- a === b.EXACT_FIT && (this._resolutionPolicy = this._rpExactFit);
- a === b.SHOW_ALL && (this._resolutionPolicy = this._rpShowAll);
- a === b.NO_BORDER && (this._resolutionPolicy = this._rpNoBorder);
- a === b.FIXED_HEIGHT && (this._resolutionPolicy = this._rpFixedHeight);
- a === b.FIXED_WIDTH && (this._resolutionPolicy = this._rpFixedWidth)
- }
- },
- setDesignResolutionSize: function (a, b, c) {
- if (isNaN(a) || 0 == a || isNaN(b) || 0 == b) cc.log(cc._LogInfos.EGLView_setDesignResolutionSize);
- else {
- var d = this._resolutionPolicy;
- this.setResolutionPolicy(c);
- if (c = this._resolutionPolicy) {
- c.preApply(this);
- var e = this._frameSize.width,
- f = this._frameSize.height;
- cc.sys.isMobile && this._setViewPortMeta(this._frameSize.width, this._frameSize.height);
- this._initFrameSize();
- if (d != this._resolutionPolicy || a != this._originalDesignResolutionSize.width || b != this._originalDesignResolutionSize.height || e != this._frameSize.width || f != this._frameSize.height) this._designResolutionSize = cc.size(a, b),
- this._originalDesignResolutionSize = cc.size(a, b),
- a = c.apply(this, this._designResolutionSize),
- a.scale && 2 == a.scale.length && (this._scaleX = a.scale[0], this._scaleY = a.scale[1]),
- a.viewport && (a = this._viewPortRect = a.viewport, b = this._visibleRect, b.width = cc._canvas.width / this._scaleX, b.height = cc._canvas.height / this._scaleY, b.x = -a.x / this._scaleX, b.y = -a.y / this._scaleY),
- a = cc.director,
- a._winSizeInPoints.width = this._designResolutionSize.width,
- a._winSizeInPoints.height = this._designResolutionSize.height,
- cc.winSize.width = a._winSizeInPoints.width,
- cc.winSize.height = a._winSizeInPoints.height,
- c.postApply(this),
- cc._renderType == cc._RENDER_TYPE_WEBGL && (a._createStatsLabel(), a.setGLDefaultValues()),
- this._originalScaleX = this._scaleX,
- this._originalScaleY = this._scaleY,
- cc.DOM && cc.DOM._resetEGLViewDiv(),
- cc.visibleRect && cc.visibleRect.init(this._visibleRect)
- } else cc.log(cc._LogInfos.EGLView_setDesignResolutionSize_2)
- }
- },
- getDesignResolutionSize: function () {
- return cc.size(this._designResolutionSize.width, this._designResolutionSize.height)
- },
- setViewPortInPoints: function (a, b, c, d) {
- var e = this._frameZoomFactor,
- f = this._scaleX,
- g = this._scaleY;
- cc._renderContext.viewport(a * f * e + this._viewPortRect.x * e, b * g * e + this._viewPortRect.y * e, c * f * e, d * g * e)
- },
- setScissorInPoints: function (a, b, c, d) {
- var e = this._frameZoomFactor,
- f = this._scaleX,
- g = this._scaleY;
- cc._renderContext.scissor(a * f * e + this._viewPortRect.x * e, b * g * e + this._viewPortRect.y * e, c * f * e, d * g * e)
- },
- isScissorEnabled: function () {
- var a = cc._renderContext;
- return a.isEnabled(a.SCISSOR_TEST)
- },
- getScissorRect: function () {
- var a = cc._renderContext,
- b = this._scaleX,
- c = this._scaleY,
- a = a.getParameter(a.SCISSOR_BOX);
- return cc.rect((a[0] - this._viewPortRect.x) / b, (a[1] - this._viewPortRect.y) / c, a[2] / b, a[3] / c)
- },
- setViewName: function (a) {
- null != a && 0 < a.length && (this._viewName = a)
- },
- getViewName: function () {
- return this._viewName
- },
- getViewPortRect: function () {
- return this._viewPortRect
- },
- getScaleX: function () {
- return this._scaleX
- },
- getScaleY: function () {
- return this._scaleY
- },
- getDevicePixelRatio: function () {
- return this._devicePixelRatio
- },
- convertToLocationInView: function (a, b, c) {
- return {
- x: this._devicePixelRatio * (a - c.left),
- y: this._devicePixelRatio * (c.top + c.height - b)
- }
- },
- _convertMouseToLocationInView: function (a, b) {
- var c = this._viewPortRect;
- a.x = (this._devicePixelRatio * (a.x - b.left) - c.x) / this._scaleX;
- a.y = (this._devicePixelRatio * (b.top + b.height - a.y) - c.y) / this._scaleY
- },
- _convertTouchesWithScale: function (a) {
- for (var b = this._viewPortRect, c = this._scaleX, d = this._scaleY, e, f, g, h = 0; h < a.length; h++) e = a[h],
- f = e._point,
- g = e._prevPoint,
- e._setPoint((f.x - b.x) / c, (f.y - b.y) / d),
- e._setPrevPoint((g.x - b.x) / c, (g.y - b.y) / d)
- }
- });
- cc.EGLView._getInstance = function () {
- this._instance || (this._instance = this._instance || new cc.EGLView, this._instance.initialize());
- return this._instance
- };
- cc.ContainerStrategy = cc.Class.extend({
- preApply: function (a) { },
- apply: function (a, b) { },
- postApply: function (a) { },
- _setupContainer: function (a, b, c) {
- var d = a._frame;
- cc.view._autoFullScreen && cc.sys.isMobile && d == document.documentElement && cc.screen.autoFullScreen(d);
- var d = cc._canvas,
- e = cc.container;
- e.style.width = d.style.width = b + "px";
- e.style.height = d.style.height = c + "px";
- e = a._devicePixelRatio = 1;
- a.isRetinaEnabled() && (e = a._devicePixelRatio = window.devicePixelRatio || 1);
- d.width = b * e;
- d.height = c * e;
- a = document.body;
- var f;
- a && (f = a.style) && (f.paddingTop = f.paddingTop || "0px", f.paddingRight = f.paddingRight || "0px", f.paddingBottom = f.paddingBottom || "0px", f.paddingLeft = f.paddingLeft || "0px", f.borderTop = f.borderTop || "0px", f.borderRight = f.borderRight || "0px", f.borderBottom = f.borderBottom || "0px", f.borderLeft = f.borderLeft || "0px", f.marginTop = f.marginTop || "0px", f.marginRight = f.marginRight || "0px", f.marginBottom = f.marginBottom || "0px", f.marginLeft = f.marginLeft || "0px")
- },
- _fixContainer: function () {
- document.body.insertBefore(cc.container, document.body.firstChild);
- var a = document.body.style;
- a.width = window.innerWidth + "px";
- a.height = window.innerHeight + "px";
- a.overflow = "hidden";
- a = cc.container.style;
- a.position = "fixed";
- a.left = a.top = "0px";
- document.body.scrollTop = 0
- }
- });
- cc.ContentStrategy = cc.Class.extend({
- _result: {
- scale: [1, 1],
- viewport: null
- },
- _buildResult: function (a, b, c, d, e, f) {
- 2 > Math.abs(a - c) && (c = a);
- 2 > Math.abs(b - d) && (d = b);
- a = cc.rect(Math.round((a - c) / 2), Math.round((b - d) / 2), c, d);
- cc._renderType == cc._RENDER_TYPE_CANVAS && cc._renderContext.translate(a.x, a.y + d);
- this._result.scale = [e, f];
- this._result.viewport = a;
- return this._result
- },
- preApply: function (a) { },
- apply: function (a, b) {
- return {
- scale: [1, 1]
- }
- },
- postApply: function (a) { }
- }); (function () {
- var a = cc.ContainerStrategy.extend({
- apply: function (a) {
- this._setupContainer(a, a._frameSize.width, a._frameSize.height)
- }
- }),
- b = cc.ContainerStrategy.extend({
- apply: function (a, b) {
- var c = a._frameSize.width,
- d = a._frameSize.height,
- e = cc.container.style,
- n = b.width,
- q = b.height,
- r = c / n,
- s = d / q,
- t,
- u;
- r < s ? (t = c, u = q * r) : (t = n * s, u = d);
- n = Math.round((c - t) / 2);
- u = Math.round((d - u) / 2);
- this._setupContainer(a, c - 2 * n, d - 2 * u);
- e.marginLeft = n + "px";
- e.marginRight = n + "px";
- e.marginTop = u + "px";
- e.marginBottom = u + "px"
- }
- });
- a.extend({
- preApply: function (a) {
- this._super(a);
- a._frame = document.documentElement
- },
- apply: function (a) {
- this._super(a);
- this._fixContainer()
- }
- });
- b.extend({
- preApply: function (a) {
- this._super(a);
- a._frame = document.documentElement
- },
- apply: function (a, b) {
- this._super(a, b);
- this._fixContainer()
- }
- });
- var c = cc.ContainerStrategy.extend({
- apply: function (a) {
- this._setupContainer(a, cc._canvas.width, cc._canvas.height)
- }
- });
- cc.ContainerStrategy.EQUAL_TO_FRAME = new a;
- cc.ContainerStrategy.PROPORTION_TO_FRAME = new b;
- cc.ContainerStrategy.ORIGINAL_CONTAINER = new c;
- var a = cc.ContentStrategy.extend({
- apply: function (a, b) {
- var c = cc._canvas.width,
- d = cc._canvas.height;
- return this._buildResult(c, d, c, d, c / b.width, d / b.height)
- }
- }),
- b = cc.ContentStrategy.extend({
- apply: function (a, b) {
- var c = cc._canvas.width,
- d = cc._canvas.height,
- e = b.width,
- n = b.height,
- q = c / e,
- r = d / n,
- s = 0,
- t,
- u;
- q < r ? (s = q, t = c, u = n * s) : (s = r, t = e * s, u = d);
- return this._buildResult(c, d, t, u, s, s)
- }
- }),
- c = cc.ContentStrategy.extend({
- apply: function (a, b) {
- var c = cc._canvas.width,
- d = cc._canvas.height,
- e = c / b.width,
- n = d / b.height,
- q;
- e < n ? q = n : q = e;
- return this._buildResult(c, d, c, d, q, q)
- }
- }),
- d = cc.ContentStrategy.extend({
- apply: function (a, b) {
- var c = cc._canvas.width,
- d = cc._canvas.height,
- e = d / b.height;
- return this._buildResult(c, d, c, d, e, e)
- },
- postApply: function (a) {
- cc.director._winSizeInPoints = a.getVisibleSize()
- }
- }),
- e = cc.ContentStrategy.extend({
- apply: function (a, b) {
- var c = cc._canvas.width,
- d = cc._canvas.height,
- e = c / b.width;
- return this._buildResult(c, d, c, d, e, e)
- },
- postApply: function (a) {
- cc.director._winSizeInPoints = a.getVisibleSize()
- }
- });
- cc.ContentStrategy.EXACT_FIT = new a;
- cc.ContentStrategy.SHOW_ALL = new b;
- cc.ContentStrategy.NO_BORDER = new c;
- cc.ContentStrategy.FIXED_HEIGHT = new d;
- cc.ContentStrategy.FIXED_WIDTH = new e
- })();
- cc.ResolutionPolicy = cc.Class.extend({
- _containerStrategy: null,
- _contentStrategy: null,
- ctor: function (a, b) {
- this.setContainerStrategy(a);
- this.setContentStrategy(b)
- },
- preApply: function (a) {
- this._containerStrategy.preApply(a);
- this._contentStrategy.preApply(a)
- },
- apply: function (a, b) {
- this._containerStrategy.apply(a, b);
- return this._contentStrategy.apply(a, b)
- },
- postApply: function (a) {
- this._containerStrategy.postApply(a);
- this._contentStrategy.postApply(a)
- },
- setContainerStrategy: function (a) {
- a instanceof cc.ContainerStrategy && (this._containerStrategy = a)
- },
- setContentStrategy: function (a) {
- a instanceof cc.ContentStrategy && (this._contentStrategy = a)
- }
- });
- cc.ResolutionPolicy.EXACT_FIT = 0;
- cc.ResolutionPolicy.NO_BORDER = 1;
- cc.ResolutionPolicy.SHOW_ALL = 2;
- cc.ResolutionPolicy.FIXED_HEIGHT = 3;
- cc.ResolutionPolicy.FIXED_WIDTH = 4;
- cc.ResolutionPolicy.UNKNOWN = 5;
- cc.screen = {
- _supportsFullScreen: !1,
- _preOnFullScreenChange: null,
- _touchEvent: "",
- _fn: null,
- _fnMap: [["requestFullscreen", "exitFullscreen", "fullscreenchange", "fullscreenEnabled", "fullscreenElement"], ["requestFullScreen", "exitFullScreen", "fullScreenchange", "fullScreenEnabled", "fullScreenElement"], ["webkitRequestFullScreen", "webkitCancelFullScreen", "webkitfullscreenchange", "webkitIsFullScreen", "webkitCurrentFullScreenElement"], ["mozRequestFullScreen", "mozCancelFullScreen", "mozfullscreenchange", "mozFullScreen", "mozFullScreenElement"], ["msRequestFullscreen", "msExitFullscreen", "MSFullscreenChange", "msFullscreenEnabled", "msFullscreenElement"]],
- init: function () {
- this._fn = {};
- var a,
- b,
- c = this._fnMap,
- d;
- a = 0;
- for (l = c.length; a < l; a++) if ((b = c[a]) && b[1] in document) {
- a = 0;
- for (d = b.length; a < d; a++) this._fn[c[0][a]] = b[a];
- break
- }
- this._supportsFullScreen = void 0 != this._fn.requestFullscreen;
- this._touchEvent = "ontouchstart" in window ? "touchstart" : "mousedown"
- },
- fullScreen: function () {
- return this._supportsFullScreen && document[this._fn.fullscreenEnabled]
- },
- requestFullScreen: function (a, b) {
- if (this._supportsFullScreen) {
- a = a || document.documentElement;
- a[this._fn.requestFullscreen]();
- if (b) {
- var c = this._fn.fullscreenchange;
- this._preOnFullScreenChange && document.removeEventListener(c, this._preOnFullScreenChange);
- this._preOnFullScreenChange = b;
- cc._addEventListener(document, c, b, !1)
- }
- return a[this._fn.requestFullscreen]()
- }
- },
- exitFullScreen: function () {
- return this._supportsFullScreen ? document[this._fn.exitFullscreen]() : !0
- },
- autoFullScreen: function (a, b) {
- function c() {
- e.requestFullScreen(a, b);
- d.removeEventListener(e._touchEvent, c)
- }
- a = a || document.body;
- var d = cc._canvas || a,
- e = this;
- this.requestFullScreen(a, b);
- cc._addEventListener(d, this._touchEvent, c)
- }
- };
- cc.screen.init();
- cc.visibleRect = {
- topLeft: cc.p(0, 0),
- topRight: cc.p(0, 0),
- top: cc.p(0, 0),
- bottomLeft: cc.p(0, 0),
- bottomRight: cc.p(0, 0),
- bottom: cc.p(0, 0),
- center: cc.p(0, 0),
- left: cc.p(0, 0),
- right: cc.p(0, 0),
- width: 0,
- height: 0,
- init: function (a) {
- var b = this.width = a.width,
- c = this.height = a.height,
- d = a.x;
- a = a.y;
- var e = a + c,
- f = d + b;
- this.topLeft.x = d;
- this.topLeft.y = e;
- this.topRight.x = f;
- this.topRight.y = e;
- this.top.x = d + b / 2;
- this.top.y = e;
- this.bottomLeft.x = d;
- this.bottomLeft.y = a;
- this.bottomRight.x = f;
- this.bottomRight.y = a;
- this.bottom.x = d + b / 2;
- this.bottom.y = a;
- this.center.x = d + b / 2;
- this.center.y = a + c / 2;
- this.left.x = d;
- this.left.y = a + c / 2;
- this.right.x = f;
- this.right.y = a + c / 2
- }
- };
- cc.UIInterfaceOrientationLandscapeLeft = -90;
- cc.UIInterfaceOrientationLandscapeRight = 90;
- cc.UIInterfaceOrientationPortraitUpsideDown = 180;
- cc.UIInterfaceOrientationPortrait = 0;
- cc.inputManager = {
- _mousePressed: !1,
- _isRegisterEvent: !1,
- _preTouchPoint: cc.p(0, 0),
- _prevMousePoint: cc.p(0, 0),
- _preTouchPool: [],
- _preTouchPoolPointer: 0,
- _touches: [],
- _touchesIntegerDict: {},
- _indexBitsUsed: 0,
- _maxTouches: 5,
- _accelEnabled: !1,
- _accelInterval: 1 / 30,
- _accelMinus: 1,
- _accelCurTime: 0,
- _acceleration: null,
- _accelDeviceEvent: null,
- _getUnUsedIndex: function () {
- for (var a = this._indexBitsUsed, b = 0; b < this._maxTouches; b++) {
- if (!(a & 1)) return this._indexBitsUsed |= 1 << b,
- b;
- a >>= 1
- }
- return -1
- },
- _removeUsedIndexBit: function (a) {
- 0 > a || a >= this._maxTouches || (a = ~(1 << a), this._indexBitsUsed &= a)
- },
- _glView: null,
- handleTouchesBegin: function (a) {
- for (var b, c, d, e = [], f = this._touchesIntegerDict, g = 0, h = a.length; g < h; g++) if (b = a[g], d = b.getID(), c = f[d], null == c) {
- var k = this._getUnUsedIndex(); -1 == k ? cc.log(cc._LogInfos.inputManager_handleTouchesBegin, k) : (c = this._touches[k] = new cc.Touch(b._point.x, b._point.y, b.getID()), c._setPrevPoint(b._prevPoint), f[d] = k, e.push(c))
- }
- 0 < e.length && (this._glView._convertTouchesWithScale(e), a = new cc.EventTouch(e), a._eventCode = cc.EventTouch.EventCode.BEGAN, cc.eventManager.dispatchEvent(a))
- },
- handleTouchesMove: function (a) {
- for (var b, c, d = [], e = this._touches, f = 0, g = a.length; f < g; f++) b = a[f],
- c = b.getID(),
- c = this._touchesIntegerDict[c],
- null != c && e[c] && (e[c]._setPoint(b._point), e[c]._setPrevPoint(b._prevPoint), d.push(e[c]));
- 0 < d.length && (this._glView._convertTouchesWithScale(d), a = new cc.EventTouch(d), a._eventCode = cc.EventTouch.EventCode.MOVED, cc.eventManager.dispatchEvent(a))
- },
- handleTouchesEnd: function (a) {
- a = this.getSetOfTouchesEndOrCancel(a);
- 0 < a.length && (this._glView._convertTouchesWithScale(a), a = new cc.EventTouch(a), a._eventCode = cc.EventTouch.EventCode.ENDED, cc.eventManager.dispatchEvent(a))
- },
- handleTouchesCancel: function (a) {
- a = this.getSetOfTouchesEndOrCancel(a);
- 0 < a.length && (this._glView._convertTouchesWithScale(a), a = new cc.EventTouch(a), a._eventCode = cc.EventTouch.EventCode.CANCELLED, cc.eventManager.dispatchEvent(a))
- },
- getSetOfTouchesEndOrCancel: function (a) {
- for (var b, c, d, e = [], f = this._touches, g = this._touchesIntegerDict, h = 0, k = a.length; h < k; h++) b = a[h],
- d = b.getID(),
- c = g[d],
- null != c && f[c] && (f[c]._setPoint(b._point), f[c]._setPrevPoint(b._prevPoint), e.push(f[c]), this._removeUsedIndexBit(c), delete g[d]);
- return e
- },
- getHTMLElementPosition: function (a) {
- var b = document.documentElement,
- c = window,
- d = null,
- d = cc.isFunction(a.getBoundingClientRect) ? a.getBoundingClientRect() : a instanceof HTMLCanvasElement ? {
- left: 0,
- top: 0,
- width: a.width,
- height: a.height
- } : {
- left: 0,
- top: 0,
- width: parseInt(a.style.width),
- height: parseInt(a.style.height)
- };
- return {
- left: d.left + c.pageXOffset -
- b.clientLeft,
- top: d.top + c.pageYOffset - b.clientTop,
- width: d.width,
- height: d.height
- }
- },
- getPreTouch: function (a) {
- for (var b = null, c = this._preTouchPool, d = a.getID(), e = c.length - 1; 0 <= e; e--) if (c[e].getID() == d) {
- b = c[e];
- break
- }
- b || (b = a);
- return b
- },
- setPreTouch: function (a) {
- for (var b = !1, c = this._preTouchPool, d = a.getID(), e = c.length - 1; 0 <= e; e--) if (c[e].getID() == d) {
- c[e] = a;
- b = !0;
- break
- }
- b || (50 >= c.length ? c.push(a) : (c[this._preTouchPoolPointer] = a, this._preTouchPoolPointer = (this._preTouchPoolPointer + 1) % 50))
- },
- getTouchByXY: function (a, b, c) {
- var d = this._preTouchPoint;
- a = this._glView.convertToLocationInView(a, b, c);
- b = new cc.Touch(a.x, a.y);
- b._setPrevPoint(d.x, d.y);
- d.x = a.x;
- d.y = a.y;
- return b
- },
- getMouseEvent: function (a, b, c) {
- var d = this._prevMousePoint;
- this._glView._convertMouseToLocationInView(a, b);
- b = new cc.EventMouse(c);
- b.setLocation(a.x, a.y);
- b._setPrevCursor(d.x, d.y);
- d.x = a.x;
- d.y = a.y;
- return b
- },
- getPointByEvent: function (a, b) {
- if (null != a.pageX) return {
- x: a.pageX,
- y: a.pageY
- };
- b.left -= document.body.scrollLeft;
- b.top -= document.body.scrollTop;
- return {
- x: a.clientX,
- y: a.clientY
- }
- },
- getTouchesByEvent: function (a, b) {
- for (var c = [], d = this._glView, e, f, g = this._preTouchPoint, h = a.changedTouches.length, k = 0; k < h; k++) if (e = a.changedTouches[k]) {
- var m;
- m = cc.sys.BROWSER_TYPE_FIREFOX === cc.sys.browserType ? d.convertToLocationInView(e.pageX, e.pageY, b) : d.convertToLocationInView(e.clientX, e.clientY, b);
- null != e.identifier ? (e = new cc.Touch(m.x, m.y, e.identifier), f = this.getPreTouch(e).getLocation(), e._setPrevPoint(f.x, f.y), this.setPreTouch(e)) : (e = new cc.Touch(m.x, m.y), e._setPrevPoint(g.x, g.y));
- g.x = m.x;
- g.y = m.y;
- c.push(e)
- }
- return c
- },
- registerSystemEvent: function (a) {
- if (!this._isRegisterEvent) {
- var b = this._glView = cc.view,
- c = this,
- d = "touches" in cc.sys.capabilities;
- "mouse" in cc.sys.capabilities && (cc._addEventListener(window, "mousedown",
- function () {
- c._mousePressed = !0
- },
- !1), cc._addEventListener(window, "mouseup",
- function (b) {
- var e = c._mousePressed;
- c._mousePressed = !1;
- if (e) {
- var e = c.getHTMLElementPosition(a),
- f = c.getPointByEvent(b, e);
- cc.rectContainsPoint(new cc.Rect(e.left, e.top, e.width, e.height), f) || (d || c.handleTouchesEnd([c.getTouchByXY(f.x, f.y, e)]), e = c.getMouseEvent(f, e, cc.EventMouse.UP), e.setButton(b.button), cc.eventManager.dispatchEvent(e))
- }
- },
- !1), cc._addEventListener(a, "mousedown",
- function (b) {
- c._mousePressed = !0;
- var e = c.getHTMLElementPosition(a),
- f = c.getPointByEvent(b, e);
- d || c.handleTouchesBegin([c.getTouchByXY(f.x, f.y, e)]);
- e = c.getMouseEvent(f, e, cc.EventMouse.DOWN);
- e.setButton(b.button);
- cc.eventManager.dispatchEvent(e);
- b.stopPropagation();
- b.preventDefault();
- a.focus()
- },
- !1), cc._addEventListener(a, "mouseup",
- function (b) {
- c._mousePressed = !1;
- var e = c.getHTMLElementPosition(a),
- f = c.getPointByEvent(b, e);
- d || c.handleTouchesEnd([c.getTouchByXY(f.x, f.y, e)]);
- e = c.getMouseEvent(f, e, cc.EventMouse.UP);
- e.setButton(b.button);
- cc.eventManager.dispatchEvent(e);
- b.stopPropagation();
- b.preventDefault()
- },
- !1), cc._addEventListener(a, "mousemove",
- function (b) {
- var e = c.getHTMLElementPosition(a),
- f = c.getPointByEvent(b, e);
- d || c.handleTouchesMove([c.getTouchByXY(f.x, f.y, e)]);
- e = c.getMouseEvent(f, e, cc.EventMouse.MOVE);
- c._mousePressed ? e.setButton(b.button) : e.setButton(null);
- cc.eventManager.dispatchEvent(e);
- b.stopPropagation();
- b.preventDefault()
- },
- !1), cc._addEventListener(a, "mousewheel",
- function (b) {
- var d = c.getHTMLElementPosition(a),
- e = c.getPointByEvent(b, d),
- d = c.getMouseEvent(e, d, cc.EventMouse.SCROLL);
- d.setButton(b.button);
- d.setScrollData(0, b.wheelDelta);
- cc.eventManager.dispatchEvent(d);
- b.stopPropagation();
- b.preventDefault()
- },
- !1), cc._addEventListener(a, "DOMMouseScroll",
- function (b) {
- var d = c.getHTMLElementPosition(a),
- e = c.getPointByEvent(b, d),
- d = c.getMouseEvent(e, d, cc.EventMouse.SCROLL);
- d.setButton(b.button);
- d.setScrollData(0, -120 * b.detail);
- cc.eventManager.dispatchEvent(d);
- b.stopPropagation();
- b.preventDefault()
- },
- !1));
- if (window.navigator.msPointerEnabled) {
- var e = {
- MSPointerDown: c.handleTouchesBegin,
- MSPointerMove: c.handleTouchesMove,
- MSPointerUp: c.handleTouchesEnd,
- MSPointerCancel: c.handleTouchesCancel
- },
- f;
- for (f in e) (function (b, d) {
- cc._addEventListener(a, b,
- function (b) {
- var e = c.getHTMLElementPosition(a);
- e.left -= document.documentElement.scrollLeft;
- e.top -= document.documentElement.scrollTop;
- d.call(c, [c.getTouchByXY(b.clientX, b.clientY, e)]);
- b.stopPropagation()
- },
- !1)
- })(f, e[f])
- }
- d && (cc._addEventListener(a, "touchstart",
- function (b) {
- if (b.changedTouches) {
- var d = c.getHTMLElementPosition(a);
- d.left -= document.body.scrollLeft;
- d.top -= document.body.scrollTop;
- c.handleTouchesBegin(c.getTouchesByEvent(b, d));
- b.stopPropagation();
- b.preventDefault();
- a.focus()
- }
- },
- !1), cc._addEventListener(a, "touchmove",
- function (b) {
- if (b.changedTouches) {
- var d = c.getHTMLElementPosition(a);
- d.left -= document.body.scrollLeft;
- d.top -= document.body.scrollTop;
- c.handleTouchesMove(c.getTouchesByEvent(b, d));
- b.stopPropagation();
- b.preventDefault()
- }
- },
- !1), cc._addEventListener(a, "touchend",
- function (b) {
- if (b.changedTouches) {
- var d = c.getHTMLElementPosition(a);
- d.left -= document.body.scrollLeft;
- d.top -= document.body.scrollTop;
- c.handleTouchesEnd(c.getTouchesByEvent(b, d));
- b.stopPropagation();
- b.preventDefault()
- }
- },
- !1), cc._addEventListener(a, "touchcancel",
- function (d) {
- if (d.changedTouches) {
- var e = c.getHTMLElementPosition(a);
- e.left -= document.body.scrollLeft;
- e.top -= document.body.scrollTop;
- b.handleTouchesCancel(c.getTouchesByEvent(d, e));
- d.stopPropagation();
- d.preventDefault()
- }
- },
- !1));
- this._registerKeyboardEvent();
- this._registerAccelerometerEvent();
- this._isRegisterEvent = !0
- }
- },
- _registerKeyboardEvent: function () { },
- _registerAccelerometerEvent: function () { },
- update: function (a) {
- this._accelCurTime > this._accelInterval && (this._accelCurTime -= this._accelInterval, cc.eventManager.dispatchEvent(new cc.EventAcceleration(this._acceleration)));
- this._accelCurTime += a
- }
- };
- var _p = cc.inputManager;
- _p.setAccelerometerEnabled = function (a) {
- this._accelEnabled !== a && (this._accelEnabled = a, a = cc.director.getScheduler(), this._accelEnabled ? (this._accelCurTime = 0, a.scheduleUpdateForTarget(this)) : (this._accelCurTime = 0, a.unscheduleUpdateForTarget(this)))
- };
- _p.setAccelerometerInterval = function (a) {
- this._accelInterval !== a && (this._accelInterval = a)
- };
- _p._registerKeyboardEvent = function () {
- cc._addEventListener(cc._canvas, "keydown",
- function (a) {
- cc.eventManager.dispatchEvent(new cc.EventKeyboard(a.keyCode, !0));
- a.stopPropagation();
- a.preventDefault()
- },
- !1);
- cc._addEventListener(cc._canvas, "keyup",
- function (a) {
- cc.eventManager.dispatchEvent(new cc.EventKeyboard(a.keyCode, !1));
- a.stopPropagation();
- a.preventDefault()
- },
- !1)
- };
- _p._registerAccelerometerEvent = function () {
- var a = window;
- this._acceleration = new cc.Acceleration;
- this._accelDeviceEvent = a.DeviceMotionEvent || a.DeviceOrientationEvent;
- cc.sys.browserType == cc.sys.BROWSER_TYPE_MOBILE_QQ && (this._accelDeviceEvent = window.DeviceOrientationEvent);
- var b = this._accelDeviceEvent == a.DeviceMotionEvent ? "devicemotion" : "deviceorientation",
- c = navigator.userAgent;
- if (/Android/.test(c) || /Adr/.test(c) && cc.sys.browserType == cc.BROWSER_TYPE_UC) this._minus = -1;
- cc._addEventListener(a, b, this.didAccelerate.bind(this), !1)
- };
- _p.didAccelerate = function (a) {
- var b = window;
- if (this._accelEnabled) {
- var c = this._acceleration,
- d,
- e,
- f;
- this._accelDeviceEvent == window.DeviceMotionEvent ? (f = a.accelerationIncludingGravity, d = this._accelMinus * f.x * 0.1, e = this._accelMinus * f.y * 0.1, f = 0.1 * f.z) : (d = a.gamma / 90 * 0.981, e = 0.981 * -(a.beta / 90), f = a.alpha / 90 * 0.981);
- cc.sys.os === cc.sys.OS_ANDROID ? (c.x = -d, c.y = -e) : (c.x = d, c.y = e);
- c.z = f;
- c.timestamp = a.timeStamp || Date.now();
- a = c.x;
- b.orientation === cc.UIInterfaceOrientationLandscapeRight ? (c.x = -c.y, c.y = a) : b.orientation === cc.UIInterfaceOrientationLandscapeLeft ? (c.x = c.y, c.y = -a) : b.orientation === cc.UIInterfaceOrientationPortraitUpsideDown && (c.x = -c.x, c.y = -c.y)
- }
- };
- delete _p;
- cc.AffineTransform = function (a, b, c, d, e, f) {
- this.a = a;
- this.b = b;
- this.c = c;
- this.d = d;
- this.tx = e;
- this.ty = f
- };
- cc.affineTransformMake = function (a, b, c, d, e, f) {
- return {
- a: a,
- b: b,
- c: c,
- d: d,
- tx: e,
- ty: f
- }
- };
- cc.pointApplyAffineTransform = function (a, b) {
- return {
- x: b.a * a.x + b.c * a.y + b.tx,
- y: b.b * a.x + b.d * a.y + b.ty
- }
- };
- cc._pointApplyAffineTransform = function (a, b, c) {
- return {
- x: c.a * a + c.c * b + c.tx,
- y: c.b * a + c.d * b + c.ty
- }
- };
- cc.sizeApplyAffineTransform = function (a, b) {
- return {
- width: b.a * a.width + b.c * a.height,
- height: b.b * a.width + b.d * a.height
- }
- };
- cc.affineTransformMakeIdentity = function () {
- return {
- a: 1,
- b: 0,
- c: 0,
- d: 1,
- tx: 0,
- ty: 0
- }
- };
- cc.affineTransformIdentity = function () {
- return {
- a: 1,
- b: 0,
- c: 0,
- d: 1,
- tx: 0,
- ty: 0
- }
- };
- cc.rectApplyAffineTransform = function (a, b) {
- var c = cc.rectGetMinY(a),
- d = cc.rectGetMinX(a),
- e = cc.rectGetMaxX(a),
- f = cc.rectGetMaxY(a),
- g = cc._pointApplyAffineTransform(d, c, b),
- c = cc._pointApplyAffineTransform(e, c, b),
- d = cc._pointApplyAffineTransform(d, f, b),
- h = cc._pointApplyAffineTransform(e, f, b),
- e = Math.min(g.x, c.x, d.x, h.x),
- f = Math.max(g.x, c.x, d.x, h.x),
- k = Math.min(g.y, c.y, d.y, h.y),
- g = Math.max(g.y, c.y, d.y, h.y);
- return cc.rect(e, k, f - e, g - k)
- };
- cc._rectApplyAffineTransformIn = function (a, b) {
- var c = cc.rectGetMinY(a),
- d = cc.rectGetMinX(a),
- e = cc.rectGetMaxX(a),
- f = cc.rectGetMaxY(a),
- g = cc._pointApplyAffineTransform(d, c, b),
- c = cc._pointApplyAffineTransform(e, c, b),
- d = cc._pointApplyAffineTransform(d, f, b),
- h = cc._pointApplyAffineTransform(e, f, b),
- e = Math.min(g.x, c.x, d.x, h.x),
- f = Math.max(g.x, c.x, d.x, h.x),
- k = Math.min(g.y, c.y, d.y, h.y),
- g = Math.max(g.y, c.y, d.y, h.y);
- a.x = e;
- a.y = k;
- a.width = f - e;
- a.height = g - k;
- return a
- };
- cc.affineTransformTranslate = function (a, b, c) {
- return {
- a: a.a,
- b: a.b,
- c: a.c,
- d: a.d,
- tx: a.tx + a.a * b + a.c * c,
- ty: a.ty + a.b * b + a.d * c
- }
- };
- cc.affineTransformScale = function (a, b, c) {
- return {
- a: a.a * b,
- b: a.b * b,
- c: a.c * c,
- d: a.d * c,
- tx: a.tx,
- ty: a.ty
- }
- };
- cc.affineTransformRotate = function (a, b) {
- var c = Math.sin(b),
- d = Math.cos(b);
- return {
- a: a.a * d + a.c * c,
- b: a.b * d + a.d * c,
- c: a.c * d - a.a * c,
- d: a.d * d - a.b * c,
- tx: a.tx,
- ty: a.ty
- }
- };
- cc.affineTransformConcat = function (a, b) {
- return {
- a: a.a * b.a + a.b * b.c,
- b: a.a * b.b + a.b * b.d,
- c: a.c * b.a + a.d * b.c,
- d: a.c * b.b + a.d * b.d,
- tx: a.tx * b.a + a.ty * b.c + b.tx,
- ty: a.tx * b.b + a.ty * b.d + b.ty
- }
- };
- cc.affineTransformEqualToTransform = function (a, b) {
- return a.a === b.a && a.b === b.b && a.c === b.c && a.d === b.d && a.tx === b.tx && a.ty === b.ty
- };
- cc.affineTransformInvert = function (a) {
- var b = 1 / (a.a * a.d - a.b * a.c);
- return {
- a: b * a.d,
- b: -b * a.b,
- c: -b * a.c,
- d: b * a.a,
- tx: b * (a.c * a.ty - a.d * a.tx),
- ty: b * (a.b * a.tx - a.a * a.ty)
- }
- };
- cc.POINT_EPSILON = parseFloat("1.192092896e-07F");
- cc.pNeg = function (a) {
- return cc.p(-a.x, -a.y)
- };
- cc.pAdd = function (a, b) {
- return cc.p(a.x + b.x, a.y + b.y)
- };
- cc.pSub = function (a, b) {
- return cc.p(a.x - b.x, a.y - b.y)
- };
- cc.pMult = function (a, b) {
- return cc.p(a.x * b, a.y * b)
- };
- cc.pMidpoint = function (a, b) {
- return cc.pMult(cc.pAdd(a, b), 0.5)
- };
- cc.pDot = function (a, b) {
- return a.x * b.x + a.y * b.y
- };
- cc.pCross = function (a, b) {
- return a.x * b.y - a.y * b.x
- };
- cc.pPerp = function (a) {
- return cc.p(-a.y, a.x)
- };
- cc.pRPerp = function (a) {
- return cc.p(a.y, -a.x)
- };
- cc.pProject = function (a, b) {
- return cc.pMult(b, cc.pDot(a, b) / cc.pDot(b, b))
- };
- cc.pRotate = function (a, b) {
- return cc.p(a.x * b.x - a.y * b.y, a.x * b.y + a.y * b.x)
- };
- cc.pUnrotate = function (a, b) {
- return cc.p(a.x * b.x + a.y * b.y, a.y * b.x - a.x * b.y)
- };
- cc.pLengthSQ = function (a) {
- return cc.pDot(a, a)
- };
- cc.pDistanceSQ = function (a, b) {
- return cc.pLengthSQ(cc.pSub(a, b))
- };
- cc.pLength = function (a) {
- return Math.sqrt(cc.pLengthSQ(a))
- };
- cc.pDistance = function (a, b) {
- return cc.pLength(cc.pSub(a, b))
- };
- cc.pNormalize = function (a) {
- return cc.pMult(a, 1 / cc.pLength(a))
- };
- cc.pForAngle = function (a) {
- return cc.p(Math.cos(a), Math.sin(a))
- };
- cc.pToAngle = function (a) {
- return Math.atan2(a.y, a.x)
- };
- cc.clampf = function (a, b, c) {
- if (b > c) {
- var d = b;
- b = c;
- c = d
- }
- return a < b ? b : a < c ? a : c
- };
- cc.pClamp = function (a, b, c) {
- return cc.p(cc.clampf(a.x, b.x, c.x), cc.clampf(a.y, b.y, c.y))
- };
- cc.pFromSize = function (a) {
- return cc.p(a.width, a.height)
- };
- cc.pCompOp = function (a, b) {
- return cc.p(b(a.x), b(a.y))
- };
- cc.pLerp = function (a, b, c) {
- return cc.pAdd(cc.pMult(a, 1 - c), cc.pMult(b, c))
- };
- cc.pFuzzyEqual = function (a, b, c) {
- return a.x - c <= b.x && b.x <= a.x + c && a.y - c <= b.y && b.y <= a.y + c ? !0 : !1
- };
- cc.pCompMult = function (a, b) {
- return cc.p(a.x * b.x, a.y * b.y)
- };
- cc.pAngleSigned = function (a, b) {
- var c = cc.pNormalize(a),
- d = cc.pNormalize(b),
- c = Math.atan2(c.x * d.y - c.y * d.x, cc.pDot(c, d));
- return Math.abs(c) < cc.POINT_EPSILON ? 0 : c
- };
- cc.pAngle = function (a, b) {
- var c = Math.acos(cc.pDot(cc.pNormalize(a), cc.pNormalize(b)));
- return Math.abs(c) < cc.POINT_EPSILON ? 0 : c
- };
- cc.pRotateByAngle = function (a, b, c) {
- a = cc.pSub(a, b);
- var d = Math.cos(c);
- c = Math.sin(c);
- var e = a.x;
- a.x = e * d - a.y * c + b.x;
- a.y = e * c + a.y * d + b.y;
- return a
- };
- cc.pLineIntersect = function (a, b, c, d, e) {
- if (a.x == b.x && a.y == b.y || c.x == d.x && c.y == d.y) return !1;
- var f = b.x - a.x;
- b = b.y - a.y;
- var g = d.x - c.x;
- d = d.y - c.y;
- var h = a.x - c.x;
- a = a.y - c.y;
- c = d * f - g * b;
- e.x = g * a - d * h;
- e.y = f * a - b * h;
- if (0 == c) return 0 == e.x || 0 == e.y ? !0 : !1;
- e.x /= c;
- e.y /= c;
- return !0
- };
- cc.pSegmentIntersect = function (a, b, c, d) {
- var e = cc.p(0, 0);
- return cc.pLineIntersect(a, b, c, d, e) && 0 <= e.x && 1 >= e.x && 0 <= e.y && 1 >= e.y ? !0 : !1
- };
- cc.pIntersectPoint = function (a, b, c, d) {
- var e = cc.p(0, 0);
- return cc.pLineIntersect(a, b, c, d, e) ? (c = cc.p(0, 0), c.x = a.x + e.x * (b.x - a.x), c.y = a.y + e.x * (b.y - a.y), c) : cc.p(0, 0)
- };
- cc.pSameAs = function (a, b) {
- return null != a && null != b ? a.x == b.x && a.y == b.y : !1
- };
- cc.pZeroIn = function (a) {
- a.x = 0;
- a.y = 0
- };
- cc.pIn = function (a, b) {
- a.x = b.x;
- a.y = b.y
- };
- cc.pMultIn = function (a, b) {
- a.x *= b;
- a.y *= b
- };
- cc.pSubIn = function (a, b) {
- a.x -= b.x;
- a.y -= b.y
- };
- cc.pAddIn = function (a, b) {
- a.x += b.x;
- a.y += b.y
- };
- cc.pNormalizeIn = function (a) {
- cc.pMultIn(a, 1 / Math.sqrt(a.x * a.x + a.y * a.y))
- };
- cc.vertexLineToPolygon = function (a, b, c, d, e) {
- e += d;
- if (!(1 >= e)) {
- b *= 0.5;
- for (var f, g = e - 1, h = d; h < e; h++) {
- f = 2 * h;
- var k = cc.p(a[2 * h], a[2 * h + 1]),
- m;
- if (0 === h) m = cc.pPerp(cc.pNormalize(cc.pSub(k, cc.p(a[2 * (h + 1)], a[2 * (h + 1) + 1]))));
- else if (h === g) m = cc.pPerp(cc.pNormalize(cc.pSub(cc.p(a[2 * (h - 1)], a[2 * (h - 1) + 1]), k)));
- else {
- m = cc.p(a[2 * (h - 1)], a[2 * (h - 1) + 1]);
- var n = cc.p(a[2 * (h + 1)], a[2 * (h + 1) + 1]),
- q = cc.pNormalize(cc.pSub(n, k)),
- r = cc.pNormalize(cc.pSub(m, k)),
- s = Math.acos(cc.pDot(q, r));
- m = s < cc.degreesToRadians(70) ? cc.pPerp(cc.pNormalize(cc.pMidpoint(q, r))) : s < cc.degreesToRadians(170) ? cc.pNormalize(cc.pMidpoint(q, r)) : cc.pPerp(cc.pNormalize(cc.pSub(n, m)))
- }
- m = cc.pMult(m, b);
- c[2 * f] = k.x + m.x;
- c[2 * f + 1] = k.y + m.y;
- c[2 * (f + 1)] = k.x - m.x;
- c[2 * (f + 1) + 1] = k.y - m.y
- }
- for (h = 0 == d ? 0 : d - 1; h < g; h++) f = 2 * h,
- a = f + 2,
- b = cc.vertex2(c[2 * f], c[2 * f + 1]),
- e = cc.vertex2(c[2 * (f + 1)], c[2 * (f + 1) + 1]),
- f = cc.vertex2(c[2 * a], c[2 * a]),
- d = cc.vertex2(c[2 * (a + 1)], c[2 * (a + 1) + 1]),
- b = !cc.vertexLineIntersect(b.x, b.y, d.x, d.y, e.x, e.y, f.x, f.y),
- !b.isSuccess && (0 > b.value || 1 < b.value) && (b.isSuccess = !0),
- b.isSuccess && (c[2 * a] = d.x, c[2 * a + 1] = d.y, c[2 * (a + 1)] = f.x, c[2 * (a + 1) + 1] = f.y)
- }
- };
- cc.vertexLineIntersect = function (a, b, c, d, e, f, g, h) {
- if (a == c && b == d || e == g && f == h) return {
- isSuccess: !1,
- value: 0
- };
- c -= a;
- d -= b;
- e -= a;
- f -= b;
- g -= a;
- h -= b;
- a = Math.sqrt(c * c + d * d);
- c /= a;
- d /= a;
- b = e * c + f * d;
- f = f * c - e * d;
- e = b;
- b = g * c + h * d;
- h = h * c - g * d;
- g = b;
- return f == h ? {
- isSuccess: !1,
- value: 0
- } : {
- isSuccess: !0,
- value: (g + (e - g) * h / (h - f)) / a
- }
- };
- cc.vertexListIsClockwise = function (a) {
- for (var b = 0, c = a.length; b < c; b++) {
- var d = a[(b + 1) % c],
- e = a[(b + 2) % c];
- if (0 < cc.pCross(cc.pSub(d, a[b]), cc.pSub(e, d))) return !1
- }
- return !0
- };
- cc.CGAffineToGL = function (a, b) {
- b[2] = b[3] = b[6] = b[7] = b[8] = b[9] = b[11] = b[14] = 0;
- b[10] = b[15] = 1;
- b[0] = a.a;
- b[4] = a.c;
- b[12] = a.tx;
- b[1] = a.b;
- b[5] = a.d;
- b[13] = a.ty
- };
- cc.GLToCGAffine = function (a, b) {
- b.a = a[0];
- b.c = a[4];
- b.tx = a[12];
- b.b = a[1];
- b.d = a[5];
- b.ty = a[13]
- };
- cc.Touch = cc.Class.extend({
- _point: null,
- _prevPoint: null,
- _id: 0,
- _startPointCaptured: !1,
- _startPoint: null,
- ctor: function (a, b, c) {
- this._point = cc.p(a || 0, b || 0);
- this._id = c || 0
- },
- getLocation: function () {
- return {
- x: this._point.x,
- y: this._point.y
- }
- },
- getLocationX: function () {
- return this._point.x
- },
- getLocationY: function () {
- return this._point.y
- },
- getPreviousLocation: function () {
- return {
- x: this._prevPoint.x,
- y: this._prevPoint.y
- }
- },
- getStartLocation: function () {
- return {
- x: this._startPoint.x,
- y: this._startPoint.y
- }
- },
- getDelta: function () {
- return cc.pSub(this._point, this._prevPoint)
- },
- getLocationInView: function () {
- return {
- x: this._point.x,
- y: this._point.y
- }
- },
- getPreviousLocationInView: function () {
- return {
- x: this._prevPoint.x,
- y: this._prevPoint.y
- }
- },
- getStartLocationInView: function () {
- return {
- x: this._startPoint.x,
- y: this._startPoint.y
- }
- },
- getID: function () {
- return this._id
- },
- getId: function () {
- cc.log("getId is deprecated. Please use getID instead.");
- return this._id
- },
- setTouchInfo: function (a, b, c) {
- this._prevPoint = this._point;
- this._point = cc.p(b || 0, c || 0);
- this._id = a;
- this._startPointCaptured || (this._startPoint = cc.p(this._point), this._startPointCaptured = !0)
- },
- _setPoint: function (a, b) {
- void 0 === b ? (this._point.x = a.x, this._point.y = a.y) : (this._point.x = a, this._point.y = b)
- },
- _setPrevPoint: function (a, b) {
- this._prevPoint = void 0 === b ? cc.p(a.x, a.y) : cc.p(a || 0, b || 0)
- }
- });
- cc.Event = cc.Class.extend({
- _type: 0,
- _isStopped: !1,
- _currentTarget: null,
- _setCurrentTarget: function (a) {
- this._currentTarget = a
- },
- ctor: function (a) {
- this._type = a
- },
- getType: function () {
- return this._type
- },
- stopPropagation: function () {
- this._isStopped = !0
- },
- isStopped: function () {
- return this._isStopped
- },
- getCurrentTarget: function () {
- return this._currentTarget
- }
- });
- cc.Event.TOUCH = 0;
- cc.Event.KEYBOARD = 1;
- cc.Event.ACCELERATION = 2;
- cc.Event.MOUSE = 3;
- cc.Event.CUSTOM = 4;
- cc.EventCustom = cc.Event.extend({
- _eventName: null,
- _userData: null,
- ctor: function (a) {
- cc.Event.prototype.ctor.call(this, cc.Event.CUSTOM);
- this._eventName = a
- },
- setUserData: function (a) {
- this._userData = a
- },
- getUserData: function () {
- return this._userData
- },
- getEventName: function () {
- return this._eventName
- }
- });
- cc.EventMouse = cc.Event.extend({
- _eventType: 0,
- _button: 0,
- _x: 0,
- _y: 0,
- _prevX: 0,
- _prevY: 0,
- _scrollX: 0,
- _scrollY: 0,
- ctor: function (a) {
- cc.Event.prototype.ctor.call(this, cc.Event.MOUSE);
- this._eventType = a
- },
- setScrollData: function (a, b) {
- this._scrollX = a;
- this._scrollY = b
- },
- getScrollX: function () {
- return this._scrollX
- },
- getScrollY: function () {
- return this._scrollY
- },
- setLocation: function (a, b) {
- this._x = a;
- this._y = b
- },
- getLocation: function () {
- return {
- x: this._x,
- y: this._y
- }
- },
- getLocationInView: function () {
- return {
- x: this._x,
- y: cc.view._designResolutionSize.height -
- this._y
- }
- },
- _setPrevCursor: function (a, b) {
- this._prevX = a;
- this._prevY = b
- },
- getDelta: function () {
- return {
- x: this._x - this._prevX,
- y: this._y - this._prevY
- }
- },
- getDeltaX: function () {
- return this._x - this._prevX
- },
- getDeltaY: function () {
- return this._y - this._prevY
- },
- setButton: function (a) {
- this._button = a
- },
- getButton: function () {
- return this._button
- },
- getLocationX: function () {
- return this._x
- },
- getLocationY: function () {
- return this._y
- }
- });
- cc.EventMouse.NONE = 0;
- cc.EventMouse.DOWN = 1;
- cc.EventMouse.UP = 2;
- cc.EventMouse.MOVE = 3;
- cc.EventMouse.SCROLL = 4;
- cc.EventMouse.BUTTON_LEFT = 0;
- cc.EventMouse.BUTTON_RIGHT = 2;
- cc.EventMouse.BUTTON_MIDDLE = 1;
- cc.EventMouse.BUTTON_4 = 3;
- cc.EventMouse.BUTTON_5 = 4;
- cc.EventMouse.BUTTON_6 = 5;
- cc.EventMouse.BUTTON_7 = 6;
- cc.EventMouse.BUTTON_8 = 7;
- cc.EventTouch = cc.Event.extend({
- _eventCode: 0,
- _touches: null,
- ctor: function (a) {
- cc.Event.prototype.ctor.call(this, cc.Event.TOUCH);
- this._touches = a || []
- },
- getEventCode: function () {
- return this._eventCode
- },
- getTouches: function () {
- return this._touches
- },
- _setEventCode: function (a) {
- this._eventCode = a
- },
- _setTouches: function (a) {
- this._touches = a
- }
- });
- cc.EventTouch.MAX_TOUCHES = 5;
- cc.EventTouch.EventCode = {
- BEGAN: 0,
- MOVED: 1,
- ENDED: 2,
- CANCELLED: 3
- };
- cc.EventListener = cc.Class.extend({
- _onEvent: null,
- _type: 0,
- _listenerID: null,
- _registered: !1,
- _fixedPriority: 0,
- _node: null,
- _paused: !1,
- _isEnabled: !0,
- ctor: function (a, b, c) {
- this._onEvent = c;
- this._type = a || 0;
- this._listenerID = b || ""
- },
- _setPaused: function (a) {
- this._paused = a
- },
- _isPaused: function () {
- return this._paused
- },
- _setRegistered: function (a) {
- this._registered = a
- },
- _isRegistered: function () {
- return this._registered
- },
- _getType: function () {
- return this._type
- },
- _getListenerID: function () {
- return this._listenerID
- },
- _setFixedPriority: function (a) {
- this._fixedPriority = a
- },
- _getFixedPriority: function () {
- return this._fixedPriority
- },
- _setSceneGraphPriority: function (a) {
- this._node = a
- },
- _getSceneGraphPriority: function () {
- return this._node
- },
- checkAvailable: function () {
- return null != this._onEvent
- },
- clone: function () {
- return null
- },
- setEnabled: function (a) {
- this._isEnabled = a
- },
- isEnabled: function () {
- return this._isEnabled
- },
- retain: function () { },
- release: function () { }
- });
- cc.EventListener.UNKNOWN = 0;
- cc.EventListener.TOUCH_ONE_BY_ONE = 1;
- cc.EventListener.TOUCH_ALL_AT_ONCE = 2;
- cc.EventListener.KEYBOARD = 3;
- cc.EventListener.MOUSE = 4;
- cc.EventListener.ACCELERATION = 5;
- cc.EventListener.CUSTOM = 6;
- cc._EventListenerCustom = cc.EventListener.extend({
- _onCustomEvent: null,
- ctor: function (a, b) {
- this._onCustomEvent = b;
- var c = this;
- cc.EventListener.prototype.ctor.call(this, cc.EventListener.CUSTOM, a,
- function (a) {
- null != c._onCustomEvent && c._onCustomEvent(a)
- })
- },
- checkAvailable: function () {
- return cc.EventListener.prototype.checkAvailable.call(this) && null != this._onCustomEvent
- },
- clone: function () {
- return new cc._EventListenerCustom(this._listenerID, this._onCustomEvent)
- }
- });
- cc._EventListenerCustom.create = function (a, b) {
- return new cc._EventListenerCustom(a, b)
- };
- cc._EventListenerMouse = cc.EventListener.extend({
- onMouseDown: null,
- onMouseUp: null,
- onMouseMove: null,
- onMouseScroll: null,
- ctor: function () {
- var a = this;
- cc.EventListener.prototype.ctor.call(this, cc.EventListener.MOUSE, cc._EventListenerMouse.LISTENER_ID,
- function (b) {
- var c = cc.EventMouse;
- switch (b._eventType) {
- case c.DOWN:
- if (a.onMouseDown) a.onMouseDown(b);
- break;
- case c.UP:
- if (a.onMouseUp) a.onMouseUp(b);
- break;
- case c.MOVE:
- if (a.onMouseMove) a.onMouseMove(b);
- break;
- case c.SCROLL:
- if (a.onMouseScroll) a.onMouseScroll(b)
- }
- })
- },
- clone: function () {
- var a = new cc._EventListenerMouse;
- a.onMouseDown = this.onMouseDown;
- a.onMouseUp = this.onMouseUp;
- a.onMouseMove = this.onMouseMove;
- a.onMouseScroll = this.onMouseScroll;
- return a
- },
- checkAvailable: function () {
- return !0
- }
- });
- cc._EventListenerMouse.LISTENER_ID = "__cc_mouse";
- cc._EventListenerMouse.create = function () {
- return new cc._EventListenerMouse
- };
- cc._EventListenerTouchOneByOne = cc.EventListener.extend({
- _claimedTouches: null,
- swallowTouches: !1,
- onTouchBegan: null,
- onTouchMoved: null,
- onTouchEnded: null,
- onTouchCancelled: null,
- ctor: function () {
- cc.EventListener.prototype.ctor.call(this, cc.EventListener.TOUCH_ONE_BY_ONE, cc._EventListenerTouchOneByOne.LISTENER_ID, null);
- this._claimedTouches = []
- },
- setSwallowTouches: function (a) {
- this.swallowTouches = a
- },
- clone: function () {
- var a = new cc._EventListenerTouchOneByOne;
- a.onTouchBegan = this.onTouchBegan;
- a.onTouchMoved = this.onTouchMoved;
- a.onTouchEnded = this.onTouchEnded;
- a.onTouchCancelled = this.onTouchCancelled;
- a.swallowTouches = this.swallowTouches;
- return a
- },
- checkAvailable: function () {
- return this.onTouchBegan ? !0 : (cc.log(cc._LogInfos._EventListenerTouchOneByOne_checkAvailable), !1)
- }
- });
- cc._EventListenerTouchOneByOne.LISTENER_ID = "__cc_touch_one_by_one";
- cc._EventListenerTouchOneByOne.create = function () {
- return new cc._EventListenerTouchOneByOne
- };
- cc._EventListenerTouchAllAtOnce = cc.EventListener.extend({
- onTouchesBegan: null,
- onTouchesMoved: null,
- onTouchesEnded: null,
- onTouchesCancelled: null,
- ctor: function () {
- cc.EventListener.prototype.ctor.call(this, cc.EventListener.TOUCH_ALL_AT_ONCE, cc._EventListenerTouchAllAtOnce.LISTENER_ID, null)
- },
- clone: function () {
- var a = new cc._EventListenerTouchAllAtOnce;
- a.onTouchesBegan = this.onTouchesBegan;
- a.onTouchesMoved = this.onTouchesMoved;
- a.onTouchesEnded = this.onTouchesEnded;
- a.onTouchesCancelled = this.onTouchesCancelled;
- return a
- },
- checkAvailable: function () {
- return null == this.onTouchesBegan && null == this.onTouchesMoved && null == this.onTouchesEnded && null == this.onTouchesCancelled ? (cc.log(cc._LogInfos._EventListenerTouchAllAtOnce_checkAvailable), !1) : !0
- }
- });
- cc._EventListenerTouchAllAtOnce.LISTENER_ID = "__cc_touch_all_at_once";
- cc._EventListenerTouchAllAtOnce.create = function () {
- return new cc._EventListenerTouchAllAtOnce
- };
- cc.EventListener.create = function (a) {
- cc.assert(a && a.event, cc._LogInfos.EventListener_create);
- var b = a.event;
- delete a.event;
- var c = null;
- b === cc.EventListener.TOUCH_ONE_BY_ONE ? c = new cc._EventListenerTouchOneByOne : b === cc.EventListener.TOUCH_ALL_AT_ONCE ? c = new cc._EventListenerTouchAllAtOnce : b === cc.EventListener.MOUSE ? c = new cc._EventListenerMouse : b === cc.EventListener.CUSTOM ? (c = new cc._EventListenerCustom(a.eventName, a.callback), delete a.eventName, delete a.callback) : b === cc.EventListener.KEYBOARD ? c = new cc._EventListenerKeyboard : b === cc.EventListener.ACCELERATION && (c = new cc._EventListenerAcceleration(a.callback), delete a.callback);
- for (var d in a) c[d] = a[d];
- return c
- };
- cc._EventListenerVector = cc.Class.extend({
- _fixedListeners: null,
- _sceneGraphListeners: null,
- gt0Index: 0,
- ctor: function () {
- this._fixedListeners = [];
- this._sceneGraphListeners = []
- },
- size: function () {
- return this._fixedListeners.length + this._sceneGraphListeners.length
- },
- empty: function () {
- return 0 === this._fixedListeners.length && 0 === this._sceneGraphListeners.length
- },
- push: function (a) {
- 0 == a._getFixedPriority() ? this._sceneGraphListeners.push(a) : this._fixedListeners.push(a)
- },
- clearSceneGraphListeners: function () {
- this._sceneGraphListeners.length = 0
- },
- clearFixedListeners: function () {
- this._fixedListeners.length = 0
- },
- clear: function () {
- this._sceneGraphListeners.length = 0;
- this._fixedListeners.length = 0
- },
- getFixedPriorityListeners: function () {
- return this._fixedListeners
- },
- getSceneGraphPriorityListeners: function () {
- return this._sceneGraphListeners
- }
- });
- cc.__getListenerID = function (a) {
- var b = cc.Event,
- c = a.getType();
- if (c === b.ACCELERATION) return cc._EventListenerAcceleration.LISTENER_ID;
- if (c === b.CUSTOM) return a.getEventName();
- if (c === b.KEYBOARD) return cc._EventListenerKeyboard.LISTENER_ID;
- if (c === b.MOUSE) return cc._EventListenerMouse.LISTENER_ID;
- c === b.TOUCH && cc.log(cc._LogInfos.__getListenerID);
- return ""
- };
- cc.eventManager = {
- DIRTY_NONE: 0,
- DIRTY_FIXED_PRIORITY: 1,
- DIRTY_SCENE_GRAPH_PRIORITY: 2,
- DIRTY_ALL: 3,
- _listenersMap: {},
- _priorityDirtyFlagMap: {},
- _nodeListenersMap: {},
- _nodePriorityMap: {},
- _globalZOrderNodeMap: {},
- _toAddedListeners: [],
- _dirtyNodes: [],
- _inDispatch: 0,
- _isEnabled: !1,
- _nodePriorityIndex: 0,
- _internalCustomListenerIDs: [cc.game.EVENT_HIDE, cc.game.EVENT_SHOW],
- _setDirtyForNode: function (a) {
- null != this._nodeListenersMap[a.__instanceId] && this._dirtyNodes.push(a);
- a = a.getChildren();
- for (var b = 0, c = a.length; b < c; b++) this._setDirtyForNode(a[b])
- },
- pauseTarget: function (a, b) {
- var c = this._nodeListenersMap[a.__instanceId],
- d,
- e;
- if (c) for (d = 0, e = c.length; d < e; d++) c[d]._setPaused(!0);
- if (!0 === b) for (c = a.getChildren(), d = 0, e = c.length; d < e; d++) this.pauseTarget(c[d], !0)
- },
- resumeTarget: function (a, b) {
- var c = this._nodeListenersMap[a.__instanceId],
- d,
- e;
- if (c) for (d = 0, e = c.length; d < e; d++) c[d]._setPaused(!1);
- this._setDirtyForNode(a);
- if (!0 === b) for (c = a.getChildren(), d = 0, e = c.length; d < e; d++) this.resumeTarget(c[d], !0)
- },
- _addListener: function (a) {
- 0 === this._inDispatch ? this._forceAddEventListener(a) : this._toAddedListeners.push(a)
- },
- _forceAddEventListener: function (a) {
- var b = a._getListenerID(),
- c = this._listenersMap[b];
- c || (c = new cc._EventListenerVector, this._listenersMap[b] = c);
- c.push(a);
- 0 == a._getFixedPriority() ? (this._setDirty(b, this.DIRTY_SCENE_GRAPH_PRIORITY), b = a._getSceneGraphPriority(), null == b && cc.log(cc._LogInfos.eventManager__forceAddEventListener), this._associateNodeAndEventListener(b, a), b.isRunning() && this.resumeTarget(b)) : this._setDirty(b, this.DIRTY_FIXED_PRIORITY)
- },
- _getListeners: function (a) {
- return this._listenersMap[a]
- },
- _updateDirtyFlagForSceneGraph: function () {
- if (0 != this._dirtyNodes.length) {
- for (var a = this._dirtyNodes, b, c, d = this._nodeListenersMap, e = 0, f = a.length; e < f; e++) if (b = d[a[e].__instanceId]) for (var g = 0, h = b.length; g < h; g++) (c = b[g]) && this._setDirty(c._getListenerID(), this.DIRTY_SCENE_GRAPH_PRIORITY);
- this._dirtyNodes.length = 0
- }
- },
- _removeAllListenersInVector: function (a) {
- if (a) for (var b, c = 0; c < a.length;) b = a[c],
- b._setRegistered(!1),
- null != b._getSceneGraphPriority() && (this._dissociateNodeAndEventListener(b._getSceneGraphPriority(), b), b._setSceneGraphPriority(null)),
- 0 === this._inDispatch ? cc.arrayRemoveObject(a, b) : ++c
- },
- _removeListenersForListenerID: function (a) {
- var b = this._listenersMap[a];
- if (b) {
- var c = b.getFixedPriorityListeners(),
- d = b.getSceneGraphPriorityListeners();
- this._removeAllListenersInVector(d);
- this._removeAllListenersInVector(c);
- delete this._priorityDirtyFlagMap[a];
- this._inDispatch || (b.clear(), delete this._listenersMap[a])
- }
- c = this._toAddedListeners;
- for (b = 0; b < c.length;) (d = c[b]) && d._getListenerID() == a ? cc.arrayRemoveObject(c, d) : ++b
- },
- _sortEventListeners: function (a) {
- var b = this.DIRTY_NONE,
- c = this._priorityDirtyFlagMap;
- c[a] && (b = c[a]);
- b != this.DIRTY_NONE && (c[a] = this.DIRTY_NONE, b & this.DIRTY_FIXED_PRIORITY && this._sortListenersOfFixedPriority(a), b & this.DIRTY_SCENE_GRAPH_PRIORITY && ((b = cc.director.getRunningScene()) ? this._sortListenersOfSceneGraphPriority(a, b) : c[a] = this.DIRTY_SCENE_GRAPH_PRIORITY))
- },
- _sortListenersOfSceneGraphPriority: function (a, b) {
- var c = this._getListeners(a);
- if (c) {
- var d = c.getSceneGraphPriorityListeners();
- d && 0 !== d.length && (this._nodePriorityIndex = 0, this._nodePriorityMap = {},
- this._visitTarget(b, !0), c.getSceneGraphPriorityListeners().sort(this._sortEventListenersOfSceneGraphPriorityDes))
- }
- },
- _sortEventListenersOfSceneGraphPriorityDes: function (a, b) {
- var c = cc.eventManager._nodePriorityMap;
- return a && b && a._getSceneGraphPriority() && b._getSceneGraphPriority() ? c[b._getSceneGraphPriority().__instanceId] - c[a._getSceneGraphPriority().__instanceId] : -1
- },
- _sortListenersOfFixedPriority: function (a) {
- if (a = this._listenersMap[a]) {
- var b = a.getFixedPriorityListeners();
- if (b && 0 !== b.length) {
- b.sort(this._sortListenersOfFixedPriorityAsc);
- for (var c = 0, d = b.length; c < d && !(0 <= b[c]._getFixedPriority()) ;)++c;
- a.gt0Index = c
- }
- }
- },
- _sortListenersOfFixedPriorityAsc: function (a, b) {
- return a._getFixedPriority() - b._getFixedPriority()
- },
- _onUpdateListeners: function (a) {
- if (a = this._listenersMap[a]) {
- var b = a.getFixedPriorityListeners(),
- c = a.getSceneGraphPriorityListeners(),
- d,
- e;
- if (c) for (d = 0; d < c.length;) e = c[d],
- e._isRegistered() ? ++d : cc.arrayRemoveObject(c, e);
- if (b) for (d = 0; d < b.length;) e = b[d],
- e._isRegistered() ? ++d : cc.arrayRemoveObject(b, e);
- c && 0 === c.length && a.clearSceneGraphListeners();
- b && 0 === b.length && a.clearFixedListeners()
- }
- },
- _updateListeners: function (a) {
- var b = this._inDispatch;
- cc.assert(0 < b, cc._LogInfos.EventManager__updateListeners);
- a.getType() == cc.Event.TOUCH ? (this._onUpdateListeners(cc._EventListenerTouchOneByOne.LISTENER_ID), this._onUpdateListeners(cc._EventListenerTouchAllAtOnce.LISTENER_ID)) : this._onUpdateListeners(cc.__getListenerID(a));
- if (!(1 < b)) {
- cc.assert(1 == b, cc._LogInfos.EventManager__updateListeners_2);
- a = this._listenersMap;
- var b = this._priorityDirtyFlagMap,
- c;
- for (c in a) a[c].empty() && (delete b[c], delete a[c]);
- c = this._toAddedListeners;
- if (0 !== c.length) {
- a = 0;
- for (b = c.length; a < b; a++) this._forceAddEventListener(c[a]);
- this._toAddedListeners.length = 0
- }
- }
- },
- _onTouchEventCallback: function (a, b) {
- if (!a._isRegistered) return !1;
- var c = b.event,
- d = b.selTouch;
- c._setCurrentTarget(a._node);
- var e = !1,
- f,
- g = c.getEventCode(),
- h = cc.EventTouch.EventCode;
- if (g == h.BEGAN) a.onTouchBegan && (e = a.onTouchBegan(d, c)) && a._registered && a._claimedTouches.push(d);
- else if (0 < a._claimedTouches.length && -1 != (f = a._claimedTouches.indexOf(d))) if (e = !0, g === h.MOVED && a.onTouchMoved) a.onTouchMoved(d, c);
- else if (g === h.ENDED) {
- if (a.onTouchEnded) a.onTouchEnded(d, c);
- a._registered && a._claimedTouches.splice(f, 1)
- } else if (g === h.CANCELLED) {
- if (a.onTouchCancelled) a.onTouchCancelled(d, c);
- a._registered && a._claimedTouches.splice(f, 1)
- }
- return c.isStopped() ? (cc.eventManager._updateListeners(c), !0) : e && a._registered && a.swallowTouches ? (b.needsMutableSet && b.touches.splice(d, 1), !0) : !1
- },
- _dispatchTouchEvent: function (a) {
- this._sortEventListeners(cc._EventListenerTouchOneByOne.LISTENER_ID);
- this._sortEventListeners(cc._EventListenerTouchAllAtOnce.LISTENER_ID);
- var b = this._getListeners(cc._EventListenerTouchOneByOne.LISTENER_ID),
- c = this._getListeners(cc._EventListenerTouchAllAtOnce.LISTENER_ID);
- if (null != b || null != c) {
- var d = a.getTouches(),
- e = cc.copyArray(d),
- f = {
- event: a,
- needsMutableSet: b && c,
- touches: e,
- selTouch: null
- };
- if (b) for (var g = 0; g < d.length; g++) if (f.selTouch = d[g], this._dispatchEventToListeners(b, this._onTouchEventCallback, f), a.isStopped()) return;
- if (c && 0 < e.length && (this._dispatchEventToListeners(c, this._onTouchesEventCallback, {
- event: a,
- touches: e
- }), a.isStopped())) return;
- this._updateListeners(a)
- }
- },
- _onTouchesEventCallback: function (a, b) {
- if (!a._registered) return !1;
- var c = cc.EventTouch.EventCode,
- d = b.event,
- e = b.touches,
- f = d.getEventCode();
- d._setCurrentTarget(a._node);
- if (f == c.BEGAN && a.onTouchesBegan) a.onTouchesBegan(e, d);
- else if (f == c.MOVED && a.onTouchesMoved) a.onTouchesMoved(e, d);
- else if (f == c.ENDED && a.onTouchesEnded) a.onTouchesEnded(e, d);
- else if (f == c.CANCELLED && a.onTouchesCancelled) a.onTouchesCancelled(e, d);
- return d.isStopped() ? (cc.eventManager._updateListeners(d), !0) : !1
- },
- _associateNodeAndEventListener: function (a, b) {
- var c = this._nodeListenersMap[a.__instanceId];
- c || (c = [], this._nodeListenersMap[a.__instanceId] = c);
- c.push(b)
- },
- _dissociateNodeAndEventListener: function (a, b) {
- var c = this._nodeListenersMap[a.__instanceId];
- c && (cc.arrayRemoveObject(c, b), 0 === c.length && delete this._nodeListenersMap[a.__instanceId])
- },
- _dispatchEventToListeners: function (a, b, c) {
- var d = !1,
- e = a.getFixedPriorityListeners(),
- f = a.getSceneGraphPriorityListeners(),
- g = 0,
- h;
- if (e && 0 !== e.length) for (; g < a.gt0Index; ++g) if (h = e[g], h.isEnabled() && !h._isPaused() && h._isRegistered() && b(h, c)) {
- d = !0;
- break
- }
- if (f && !d) for (a = 0; a < f.length; a++) if (h = f[a], h.isEnabled() && !h._isPaused() && h._isRegistered() && b(h, c)) {
- d = !0;
- break
- }
- if (e && !d) for (; g < e.length && (h = e[g], !h.isEnabled() || h._isPaused() || !h._isRegistered() || !b(h, c)) ; ++g);
- },
- _setDirty: function (a, b) {
- var c = this._priorityDirtyFlagMap;
- c[a] = null == c[a] ? b : b | c[a]
- },
- _visitTarget: function (a, b) {
- var c = a.getChildren(),
- d = 0,
- e = c.length,
- f = this._globalZOrderNodeMap,
- g = this._nodeListenersMap;
- if (0 < e) {
- for (var h; d < e; d++) if ((h = c[d]) && 0 > h.getLocalZOrder()) this._visitTarget(h, !1);
- else break;
- null != g[a.__instanceId] && (f[a.getGlobalZOrder()] || (f[a.getGlobalZOrder()] = []), f[a.getGlobalZOrder()].push(a.__instanceId));
- for (; d < e; d++) (h = c[d]) && this._visitTarget(h, !1)
- } else null != g[a.__instanceId] && (f[a.getGlobalZOrder()] || (f[a.getGlobalZOrder()] = []), f[a.getGlobalZOrder()].push(a.__instanceId));
- if (b) {
- var c = [],
- k;
- for (k in f) c.push(k);
- c.sort(this._sortNumberAsc);
- k = c.length;
- h = this._nodePriorityMap;
- for (d = 0; d < k; d++) for (e = f[c[d]], g = 0; g < e.length; g++) h[e[g]] = ++this._nodePriorityIndex;
- this._globalZOrderNodeMap = {}
- }
- },
- _sortNumberAsc: function (a, b) {
- return a - b
- },
- addListener: function (a, b) {
- cc.assert(a && b, cc._LogInfos.eventManager_addListener_2);
- if (!(a instanceof cc.EventListener)) cc.assert(!cc.isNumber(b), cc._LogInfos.eventManager_addListener_3),
- a = cc.EventListener.create(a);
- else if (a._isRegistered()) {
- cc.log(cc._LogInfos.eventManager_addListener_4);
- return
- }
- a.checkAvailable() && (cc.isNumber(b) ? 0 == b ? cc.log(cc._LogInfos.eventManager_addListener) : (a._setSceneGraphPriority(null), a._setFixedPriority(b), a._setRegistered(!0), a._setPaused(!1), this._addListener(a)) : (a._setSceneGraphPriority(b), a._setFixedPriority(0), a._setRegistered(!0), this._addListener(a)))
- },
- addCustomListener: function (a, b) {
- var c = cc._EventListenerCustom.create(a, b);
- this.addListener(c, 1);
- return c
- },
- removeListener: function (a) {
- if (null != a) {
- var b,
- c = this._listenersMap,
- d;
- for (d in c) {
- var e = c[d],
- f = e.getFixedPriorityListeners();
- b = e.getSceneGraphPriorityListeners(); (b = this._removeListenerInVector(b, a)) ? this._setDirty(a._getListenerID(), this.DIRTY_SCENE_GRAPH_PRIORITY) : (b = this._removeListenerInVector(f, a)) && this._setDirty(a._getListenerID(), this.DIRTY_FIXED_PRIORITY);
- e.empty() && (delete this._priorityDirtyFlagMap[a._getListenerID()], delete c[d]);
- if (b) break
- }
- if (!b) for (c = this._toAddedListeners, d = 0, e = c.length; d < e; d++) if (f = c[d], f == a) {
- cc.arrayRemoveObject(c, f);
- break
- }
- }
- },
- _removeListenerInVector: function (a, b) {
- if (null == a) return !1;
- for (var c = 0, d = a.length; c < d; c++) {
- var e = a[c];
- if (e == b) return e._setRegistered(!1),
- null != e._getSceneGraphPriority() && (this._dissociateNodeAndEventListener(e._getSceneGraphPriority(), e), e._setSceneGraphPriority(null)),
- 0 == this._inDispatch && cc.arrayRemoveObject(a, e),
- !0
- }
- return !1
- },
- removeListeners: function (a, b) {
- if (a instanceof cc.Node) {
- delete this._nodePriorityMap[a.__instanceId];
- cc.arrayRemoveObject(this._dirtyNodes, a);
- var c = this._nodeListenersMap[a.__instanceId];
- if (c) {
- for (var d = cc.copyArray(c), c = 0; c < d.length; c++) this.removeListener(d[c]);
- d.length = 0
- }
- d = this._toAddedListeners;
- for (c = 0; c < d.length;) {
- var e = d[c];
- e._getSceneGraphPriority() == a ? (e._setSceneGraphPriority(null), e._setRegistered(!1), d.splice(c, 1)) : ++c
- }
- if (!0 === b) for (d = a.getChildren(), c = 0, e = d.length; c < e; c++) this.removeListeners(d[c], !0)
- } else a == cc.EventListener.TOUCH_ONE_BY_ONE ? this._removeListenersForListenerID(cc._EventListenerTouchOneByOne.LISTENER_ID) : a == cc.EventListener.TOUCH_ALL_AT_ONCE ? this._removeListenersForListenerID(cc._EventListenerTouchAllAtOnce.LISTENER_ID) : a == cc.EventListener.MOUSE ? this._removeListenersForListenerID(cc._EventListenerMouse.LISTENER_ID) : a == cc.EventListener.ACCELERATION ? this._removeListenersForListenerID(cc._EventListenerAcceleration.LISTENER_ID) : a == cc.EventListener.KEYBOARD ? this._removeListenersForListenerID(cc._EventListenerKeyboard.LISTENER_ID) : cc.log(cc._LogInfos.eventManager_removeListeners)
- },
- removeCustomListeners: function (a) {
- this._removeListenersForListenerID(a)
- },
- removeAllListeners: function () {
- var a = this._listenersMap,
- b = this._internalCustomListenerIDs,
- c;
- for (c in a) -1 === b.indexOf(c) && this._removeListenersForListenerID(c)
- },
- setPriority: function (a, b) {
- if (null != a) {
- var c = this._listenersMap,
- d;
- for (d in c) {
- var e = c[d].getFixedPriorityListeners();
- if (e && -1 != e.indexOf(a)) {
- null != a._getSceneGraphPriority() && cc.log(cc._LogInfos.eventManager_setPriority);
- a._getFixedPriority() !== b && (a._setFixedPriority(b), this._setDirty(a._getListenerID(), this.DIRTY_FIXED_PRIORITY));
- break
- }
- }
- }
- },
- setEnabled: function (a) {
- this._isEnabled = a
- },
- isEnabled: function () {
- return this._isEnabled
- },
- dispatchEvent: function (a) {
- if (this._isEnabled) {
- this._updateDirtyFlagForSceneGraph();
- this._inDispatch++;
- if (!a || !a.getType) throw "event is undefined";
- if (a.getType() == cc.Event.TOUCH) this._dispatchTouchEvent(a);
- else {
- var b = cc.__getListenerID(a);
- this._sortEventListeners(b);
- b = this._listenersMap[b];
- null != b && this._dispatchEventToListeners(b, this._onListenerCallback, a);
- this._updateListeners(a)
- }
- this._inDispatch--
- }
- },
- _onListenerCallback: function (a, b) {
- b._setCurrentTarget(a._getSceneGraphPriority());
- a._onEvent(b);
- return b.isStopped()
- },
- dispatchCustomEvent: function (a, b) {
- var c = new cc.EventCustom(a);
- c.setUserData(b);
- this.dispatchEvent(c)
- }
- };
- cc.EventAcceleration = cc.Event.extend({
- _acc: null,
- ctor: function (a) {
- cc.Event.prototype.ctor.call(this, cc.Event.ACCELERATION);
- this._acc = a
- }
- });
- cc.EventKeyboard = cc.Event.extend({
- _keyCode: 0,
- _isPressed: !1,
- ctor: function (a, b) {
- cc.Event.prototype.ctor.call(this, cc.Event.KEYBOARD);
- this._keyCode = a;
- this._isPressed = b
- }
- });
- cc._EventListenerAcceleration = cc.EventListener.extend({
- _onAccelerationEvent: null,
- ctor: function (a) {
- this._onAccelerationEvent = a;
- var b = this;
- cc.EventListener.prototype.ctor.call(this, cc.EventListener.ACCELERATION, cc._EventListenerAcceleration.LISTENER_ID,
- function (a) {
- b._onAccelerationEvent(a._acc, a)
- })
- },
- checkAvailable: function () {
- cc.assert(this._onAccelerationEvent, cc._LogInfos._EventListenerAcceleration_checkAvailable);
- return !0
- },
- clone: function () {
- return new cc._EventListenerAcceleration(this._onAccelerationEvent)
- }
- });
- cc._EventListenerAcceleration.LISTENER_ID = "__cc_acceleration";
- cc._EventListenerAcceleration.create = function (a) {
- return new cc._EventListenerAcceleration(a)
- };
- cc._EventListenerKeyboard = cc.EventListener.extend({
- onKeyPressed: null,
- onKeyReleased: null,
- ctor: function () {
- var a = this;
- cc.EventListener.prototype.ctor.call(this, cc.EventListener.KEYBOARD, cc._EventListenerKeyboard.LISTENER_ID,
- function (b) {
- if (b._isPressed) {
- if (a.onKeyPressed) a.onKeyPressed(b._keyCode, b)
- } else if (a.onKeyReleased) a.onKeyReleased(b._keyCode, b)
- })
- },
- clone: function () {
- var a = new cc._EventListenerKeyboard;
- a.onKeyPressed = this.onKeyPressed;
- a.onKeyReleased = this.onKeyReleased;
- return a
- },
- checkAvailable: function () {
- return null == this.onKeyPressed && null == this.onKeyReleased ? (cc.log(cc._LogInfos._EventListenerKeyboard_checkAvailable), !1) : !0
- }
- });
- cc._EventListenerKeyboard.LISTENER_ID = "__cc_keyboard";
- cc._EventListenerKeyboard.create = function () {
- return new cc._EventListenerKeyboard
- };
- cc._tmp.WebGLCCNode = function () {
- var a = cc.Node.prototype;
- a._transform4x4 = null;
- a._stackMatrix = null;
- a._glServerState = null;
- a._camera = null;
- a.ctor = function () {
- this._initNode();
- var a = new cc.kmMat4;
- a.mat[2] = a.mat[3] = a.mat[6] = a.mat[7] = a.mat[8] = a.mat[9] = a.mat[11] = a.mat[14] = 0;
- a.mat[10] = a.mat[15] = 1;
- this._transform4x4 = a;
- this._glServerState = 0;
- this._stackMatrix = new cc.kmMat4
- };
- a.setNodeDirty = function () {
- !1 === this._transformDirty && (this._transformDirty = this._inverseDirty = !0)
- };
- a.visit = function () {
- if (this._visible) {
- var a = cc._renderContext,
- c,
- d = cc.current_stack;
- d.stack.push(d.top);
- cc.kmMat4Assign(this._stackMatrix, d.top);
- d.top = this._stackMatrix;
- var e = this.grid;
- e && e._active && e.beforeDraw();
- this.transform();
- var f = this._children;
- if (f && 0 < f.length) {
- var g = f.length;
- this.sortAllChildren();
- for (c = 0; c < g; c++) if (f[c] && 0 > f[c]._localZOrder) f[c].visit();
- else break;
- for (this.draw(a) ; c < g; c++) f[c] && f[c].visit()
- } else this.draw(a);
- this.arrivalOrder = 0;
- e && e._active && e.afterDraw(this);
- d.top = d.stack.pop()
- }
- };
- a.transform = function () {
- var a = this._transform4x4,
- c = cc.current_stack.top,
- d = this.nodeToParentTransform(),
- e = a.mat;
- e[0] = d.a;
- e[4] = d.c;
- e[12] = d.tx;
- e[1] = d.b;
- e[5] = d.d;
- e[13] = d.ty;
- e[14] = this._vertexZ;
- cc.kmMat4Multiply(c, c, a);
- null == this._camera || null != this.grid && this.grid.isActive() || (a = this._anchorPointInPoints.x, c = this._anchorPointInPoints.y, 0 !== a || 0 !== c ? (cc.SPRITEBATCHNODE_RENDER_SUBPIXEL || (a |= 0, c |= 0), cc.kmGLTranslatef(a, c, 0), this._camera.locate(), cc.kmGLTranslatef(-a, -c, 0)) : this._camera.locate())
- };
- a.getNodeToParentTransform = a._getNodeToParentTransformForWebGL
- };
- cc._tmp.PrototypeCCNode = function () {
- var a = cc.Node.prototype;
- cc.defineGetterSetter(a, "x", a.getPositionX, a.setPositionX);
- cc.defineGetterSetter(a, "y", a.getPositionY, a.setPositionY);
- cc.defineGetterSetter(a, "width", a._getWidth, a._setWidth);
- cc.defineGetterSetter(a, "height", a._getHeight, a._setHeight);
- cc.defineGetterSetter(a, "anchorX", a._getAnchorX, a._setAnchorX);
- cc.defineGetterSetter(a, "anchorY", a._getAnchorY, a._setAnchorY);
- cc.defineGetterSetter(a, "skewX", a.getSkewX, a.setSkewX);
- cc.defineGetterSetter(a, "skewY", a.getSkewY, a.setSkewY);
- cc.defineGetterSetter(a, "zIndex", a.getLocalZOrder, a.setLocalZOrder);
- cc.defineGetterSetter(a, "vertexZ", a.getVertexZ, a.setVertexZ);
- cc.defineGetterSetter(a, "rotation", a.getRotation, a.setRotation);
- cc.defineGetterSetter(a, "rotationX", a.getRotationX, a.setRotationX);
- cc.defineGetterSetter(a, "rotationY", a.getRotationY, a.setRotationY);
- cc.defineGetterSetter(a, "scale", a.getScale, a.setScale);
- cc.defineGetterSetter(a, "scaleX", a.getScaleX, a.setScaleX);
- cc.defineGetterSetter(a, "scaleY", a.getScaleY, a.setScaleY);
- cc.defineGetterSetter(a, "children", a.getChildren);
- cc.defineGetterSetter(a, "childrenCount", a.getChildrenCount);
- cc.defineGetterSetter(a, "parent", a.getParent, a.setParent);
- cc.defineGetterSetter(a, "visible", a.isVisible, a.setVisible);
- cc.defineGetterSetter(a, "running", a.isRunning);
- cc.defineGetterSetter(a, "ignoreAnchor", a.isIgnoreAnchorPointForPosition, a.ignoreAnchorPointForPosition);
- cc.defineGetterSetter(a, "actionManager", a.getActionManager, a.setActionManager);
- cc.defineGetterSetter(a, "scheduler", a.getScheduler, a.setScheduler);
- cc.defineGetterSetter(a, "shaderProgram", a.getShaderProgram, a.setShaderProgram);
- cc.defineGetterSetter(a, "opacity", a.getOpacity, a.setOpacity);
- cc.defineGetterSetter(a, "opacityModifyRGB", a.isOpacityModifyRGB);
- cc.defineGetterSetter(a, "cascadeOpacity", a.isCascadeOpacityEnabled, a.setCascadeOpacityEnabled);
- cc.defineGetterSetter(a, "color", a.getColor, a.setColor);
- cc.defineGetterSetter(a, "cascadeColor", a.isCascadeColorEnabled, a.setCascadeColorEnabled)
- };
- cc.NODE_TAG_INVALID = -1;
- cc.s_globalOrderOfArrival = 1;
- cc.Node = cc.Class.extend({
- _localZOrder: 0,
- _globalZOrder: 0,
- _vertexZ: 0,
- _rotationX: 0,
- _rotationY: 0,
- _scaleX: 1,
- _scaleY: 1,
- _position: null,
- _skewX: 0,
- _skewY: 0,
- _children: null,
- _visible: !0,
- _anchorPoint: null,
- _anchorPointInPoints: null,
- _contentSize: null,
- _running: !1,
- _parent: null,
- _ignoreAnchorPointForPosition: !1,
- tag: cc.NODE_TAG_INVALID,
- userData: null,
- userObject: null,
- _transformDirty: !0,
- _inverseDirty: !0,
- _cacheDirty: !0,
- _cachedParent: null,
- _transformGLDirty: null,
- _transform: null,
- _inverse: null,
- _reorderChildDirty: !1,
- _shaderProgram: null,
- arrivalOrder: 0,
- _actionManager: null,
- _scheduler: null,
- _eventDispatcher: null,
- _initializedNode: !1,
- _additionalTransformDirty: !1,
- _additionalTransform: null,
- _componentContainer: null,
- _isTransitionFinished: !1,
- _rotationRadiansX: 0,
- _rotationRadiansY: 0,
- _className: "Node",
- _showNode: !1,
- _name: "",
- _displayedOpacity: 255,
- _realOpacity: 255,
- _displayedColor: null,
- _realColor: null,
- _cascadeColorEnabled: !1,
- _cascadeOpacityEnabled: !1,
- _usingNormalizedPosition: !1,
- _hashOfName: 0,
- _initNode: function () {
- this._anchorPoint = cc.p(0, 0);
- this._anchorPointInPoints = cc.p(0, 0);
- this._contentSize = cc.size(0, 0);
- this._position = cc.p(0, 0);
- this._children = [];
- this._transform = {
- a: 1,
- b: 0,
- c: 0,
- d: 1,
- tx: 0,
- ty: 0
- };
- var a = cc.director;
- this._actionManager = a.getActionManager();
- this._scheduler = a.getScheduler();
- this._initializedNode = !0;
- this._additionalTransform = cc.affineTransformMakeIdentity();
- cc.ComponentContainer && (this._componentContainer = new cc.ComponentContainer(this));
- this._realOpacity = this._displayedOpacity = 255;
- this._displayedColor = cc.color(255, 255, 255, 255);
- this._realColor = cc.color(255, 255, 255, 255);
- this._cascadeOpacityEnabled = this._cascadeColorEnabled = !1
- },
- init: function () {
- !1 === this._initializedNode && this._initNode();
- return !0
- },
- _arrayMakeObjectsPerformSelector: function (a, b) {
- if (a && 0 !== a.length) {
- var c,
- d = a.length,
- e;
- c = cc.Node._StateCallbackType;
- switch (b) {
- case c.onEnter:
- for (c = 0; c < d; c++) if (e = a[c]) e.onEnter();
- break;
- case c.onExit:
- for (c = 0; c < d; c++) if (e = a[c]) e.onExit();
- break;
- case c.onEnterTransitionDidFinish:
- for (c = 0; c < d; c++) if (e = a[c]) e.onEnterTransitionDidFinish();
- break;
- case c.cleanup:
- for (c = 0; c < d; c++) (e = a[c]) && e.cleanup();
- break;
- case c.updateTransform:
- for (c = 0; c < d; c++) (e = a[c]) && e.updateTransform();
- break;
- case c.onExitTransitionDidStart:
- for (c = 0; c < d; c++) if (e = a[c]) e.onExitTransitionDidStart();
- break;
- case c.sortAllChildren:
- for (c = 0; c < d; c++) (e = a[c]) && e.sortAllChildren();
- break;
- default:
- cc.assert(0, cc._LogInfos.Node__arrayMakeObjectsPerformSelector)
- }
- }
- },
- setNodeDirty: null,
- attr: function (a) {
- for (var b in a) this[b] = a[b]
- },
- getSkewX: function () {
- return this._skewX
- },
- setSkewX: function (a) {
- this._skewX = a;
- this.setNodeDirty()
- },
- getSkewY: function () {
- return this._skewY
- },
- setSkewY: function (a) {
- this._skewY = a;
- this.setNodeDirty()
- },
- setLocalZOrder: function (a) {
- this._localZOrder = a;
- this._parent && this._parent.reorderChild(this, a);
- cc.eventManager._setDirtyForNode(this)
- },
- _setLocalZOrder: function (a) {
- this._localZOrder = a
- },
- getLocalZOrder: function () {
- return this._localZOrder
- },
- getZOrder: function () {
- cc.log(cc._LogInfos.Node_getZOrder);
- return this.getLocalZOrder()
- },
- setZOrder: function (a) {
- cc.log(cc._LogInfos.Node_setZOrder);
- this.setLocalZOrder(a)
- },
- setGlobalZOrder: function (a) {
- this._globalZOrder != a && (this._globalZOrder = a, cc.eventManager._setDirtyForNode(this))
- },
- getGlobalZOrder: function () {
- return this._globalZOrder
- },
- getVertexZ: function () {
- return this._vertexZ
- },
- setVertexZ: function (a) {
- this._vertexZ = a
- },
- getRotation: function () {
- this._rotationX !== this._rotationY && cc.log(cc._LogInfos.Node_getRotation);
- return this._rotationX
- },
- setRotation: function (a) {
- this._rotationX = this._rotationY = a;
- this._rotationRadiansX = 0.017453292519943295 * this._rotationX;
- this._rotationRadiansY = 0.017453292519943295 * this._rotationY;
- this.setNodeDirty()
- },
- getRotationX: function () {
- return this._rotationX
- },
- setRotationX: function (a) {
- this._rotationX = a;
- this._rotationRadiansX = 0.017453292519943295 * this._rotationX;
- this.setNodeDirty()
- },
- getRotationY: function () {
- return this._rotationY
- },
- setRotationY: function (a) {
- this._rotationY = a;
- this._rotationRadiansY = 0.017453292519943295 * this._rotationY;
- this.setNodeDirty()
- },
- getScale: function () {
- this._scaleX !== this._scaleY && cc.log(cc._LogInfos.Node_getScale);
- return this._scaleX
- },
- setScale: function (a, b) {
- this._scaleX = a;
- this._scaleY = b || 0 === b ? b : a;
- this.setNodeDirty()
- },
- getScaleX: function () {
- return this._scaleX
- },
- setScaleX: function (a) {
- this._scaleX = a;
- this.setNodeDirty()
- },
- getScaleY: function () {
- return this._scaleY
- },
- setScaleY: function (a) {
- this._scaleY = a;
- this.setNodeDirty()
- },
- setPosition: function (a, b) {
- var c = this._position;
- void 0 === b ? (c.x = a.x, c.y = a.y) : (c.x = a, c.y = b);
- this.setNodeDirty()
- },
- getPosition: function () {
- return cc.p(this._position)
- },
- getPositionX: function () {
- return this._position.x
- },
- setPositionX: function (a) {
- this._position.x = a;
- this.setNodeDirty()
- },
- getPositionY: function () {
- return this._position.y
- },
- setPositionY: function (a) {
- this._position.y = a;
- this.setNodeDirty()
- },
- getChildrenCount: function () {
- return this._children.length
- },
- getChildren: function () {
- return this._children
- },
- isVisible: function () {
- return this._visible
- },
- setVisible: function (a) {
- this._visible != a && (this._visible = a) && this.setNodeDirty()
- },
- getAnchorPoint: function () {
- return cc.p(this._anchorPoint)
- },
- setAnchorPoint: function (a, b) {
- var c = this._anchorPoint;
- if (void 0 === b) {
- if (a.x === c.x && a.y === c.y) return;
- c.x = a.x;
- c.y = a.y
- } else {
- if (a === c.x && b === c.y) return;
- c.x = a;
- c.y = b
- }
- var d = this._anchorPointInPoints,
- e = this._contentSize;
- d.x = e.width * c.x;
- d.y = e.height * c.y;
- this.setNodeDirty()
- },
- _getAnchor: function () {
- return this._anchorPoint
- },
- _setAnchor: function (a) {
- var b = a.x;
- a = a.y;
- this._anchorPoint.x !== b && (this._anchorPoint.x = b, this._anchorPointInPoints.x = this._contentSize.width * b);
- this._anchorPoint.y !== a && (this._anchorPoint.y = a, this._anchorPointInPoints.y = this._contentSize.height * a);
- this.setNodeDirty()
- },
- _getAnchorX: function () {
- return this._anchorPoint.x
- },
- _setAnchorX: function (a) {
- this._anchorPoint.x !== a && (this._anchorPoint.x = a, this._anchorPointInPoints.x = this._contentSize.width * a, this.setNodeDirty())
- },
- _getAnchorY: function () {
- return this._anchorPoint.y
- },
- _setAnchorY: function (a) {
- this._anchorPoint.y !== a && (this._anchorPoint.y = a, this._anchorPointInPoints.y = this._contentSize.height * a, this.setNodeDirty())
- },
- getAnchorPointInPoints: function () {
- return cc.p(this._anchorPointInPoints)
- },
- _getWidth: function () {
- return this._contentSize.width
- },
- _setWidth: function (a) {
- this._contentSize.width = a;
- this._anchorPointInPoints.x = a * this._anchorPoint.x;
- this.setNodeDirty()
- },
- _getHeight: function () {
- return this._contentSize.height
- },
- _setHeight: function (a) {
- this._contentSize.height = a;
- this._anchorPointInPoints.y = a * this._anchorPoint.y;
- this.setNodeDirty()
- },
- getContentSize: function () {
- return cc.size(this._contentSize)
- },
- setContentSize: function (a, b) {
- var c = this._contentSize;
- if (void 0 === b) {
- if (a.width === c.width && a.height === c.height) return;
- c.width = a.width;
- c.height = a.height
- } else {
- if (a === c.width && b === c.height) return;
- c.width = a;
- c.height = b
- }
- var d = this._anchorPointInPoints,
- e = this._anchorPoint;
- d.x = c.width * e.x;
- d.y = c.height * e.y;
- this.setNodeDirty()
- },
- isRunning: function () {
- return this._running
- },
- getParent: function () {
- return this._parent
- },
- setParent: function (a) {
- this._parent = a
- },
- isIgnoreAnchorPointForPosition: function () {
- return this._ignoreAnchorPointForPosition
- },
- ignoreAnchorPointForPosition: function (a) {
- a != this._ignoreAnchorPointForPosition && (this._ignoreAnchorPointForPosition = a, this.setNodeDirty())
- },
- getTag: function () {
- return this.tag
- },
- setTag: function (a) {
- this.tag = a
- },
- setName: function (a) {
- this._name = a
- },
- getName: function () {
- return this._name
- },
- getUserData: function () {
- return this.userData
- },
- setUserData: function (a) {
- this.userData = a
- },
- getUserObject: function () {
- return this.userObject
- },
- setUserObject: function (a) {
- this.userObject != a && (this.userObject = a)
- },
- getOrderOfArrival: function () {
- return this.arrivalOrder
- },
- setOrderOfArrival: function (a) {
- this.arrivalOrder = a
- },
- getActionManager: function () {
- this._actionManager || (this._actionManager = cc.director.getActionManager());
- return this._actionManager
- },
- setActionManager: function (a) {
- this._actionManager != a && (this.stopAllActions(), this._actionManager = a)
- },
- getScheduler: function () {
- this._scheduler || (this._scheduler = cc.director.getScheduler());
- return this._scheduler
- },
- setScheduler: function (a) {
- this._scheduler != a && (this.unscheduleAllCallbacks(), this._scheduler = a)
- },
- boundingBox: function () {
- cc.log(cc._LogInfos.Node_boundingBox);
- return this.getBoundingBox()
- },
- getBoundingBox: function () {
- var a = cc.rect(0, 0, this._contentSize.width, this._contentSize.height);
- return cc._rectApplyAffineTransformIn(a, this.getNodeToParentTransform())
- },
- cleanup: function () {
- this.stopAllActions();
- this.unscheduleAllCallbacks();
- cc.eventManager.removeListeners(this);
- this._arrayMakeObjectsPerformSelector(this._children, cc.Node._StateCallbackType.cleanup)
- },
- getChildByTag: function (a) {
- var b = this._children;
- if (null != b) for (var c = 0; c < b.length; c++) {
- var d = b[c];
- if (d && d.tag == a) return d
- }
- return null
- },
- getChildByName: function (a) {
- if (!a) return cc.log("Invalid name"),
- null;
- for (var b = this._children, c = 0, d = b.length; c < d; c++) if (b[c]._name == a) return b[c];
- return null
- },
- addChild: function (a, b, c) {
- b = void 0 === b ? a._localZOrder : b;
- var d,
- e = !1;
- cc.isUndefined(c) ? (c = void 0, d = a._name) : cc.isString(c) ? (d = c, c = void 0) : cc.isNumber(c) && (e = !0, d = "");
- cc.assert(a, cc._LogInfos.Node_addChild_3);
- cc.assert(null === a._parent, "child already added. It can't be added again");
- this._addChildHelper(a, b, c, d, e)
- },
- _addChildHelper: function (a, b, c, d, e) {
- this._children || (this._children = []);
- this._insertChild(a, b);
- e ? a.setTag(c) : a.setName(d);
- a.setParent(this);
- a.setOrderOfArrival(cc.s_globalOrderOfArrival++);
- if (this._running && (a.onEnter(), this._isTransitionFinished)) a.onEnterTransitionDidFinish();
- this._cascadeColorEnabled && this._enableCascadeColor();
- this._cascadeOpacityEnabled && this._enableCascadeOpacity()
- },
- removeFromParent: function (a) {
- this._parent && (null == a && (a = !0), this._parent.removeChild(this, a))
- },
- removeFromParentAndCleanup: function (a) {
- cc.log(cc._LogInfos.Node_removeFromParentAndCleanup);
- this.removeFromParent(a)
- },
- removeChild: function (a, b) {
- 0 !== this._children.length && (null == b && (b = !0), -1 < this._children.indexOf(a) && this._detachChild(a, b), this.setNodeDirty())
- },
- removeChildByTag: function (a, b) {
- a === cc.NODE_TAG_INVALID && cc.log(cc._LogInfos.Node_removeChildByTag);
- var c = this.getChildByTag(a);
- null == c ? cc.log(cc._LogInfos.Node_removeChildByTag_2, a) : this.removeChild(c, b)
- },
- removeAllChildrenWithCleanup: function (a) {
- this.removeAllChildren(a)
- },
- removeAllChildren: function (a) {
- var b = this._children;
- if (null != b) {
- null == a && (a = !0);
- for (var c = 0; c < b.length; c++) {
- var d = b[c];
- d && (this._running && (d.onExitTransitionDidStart(), d.onExit()), a && d.cleanup(), d.parent = null)
- }
- this._children.length = 0
- }
- },
- _detachChild: function (a, b) {
- this._running && (a.onExitTransitionDidStart(), a.onExit());
- b && a.cleanup();
- a.parent = null;
- cc.arrayRemoveObject(this._children, a)
- },
- _insertChild: function (a, b) {
- this._reorderChildDirty = !0;
- this._children.push(a);
- a._setLocalZOrder(b)
- },
- reorderChild: function (a, b) {
- cc.assert(a, cc._LogInfos.Node_reorderChild);
- this._reorderChildDirty = !0;
- a.arrivalOrder = cc.s_globalOrderOfArrival;
- cc.s_globalOrderOfArrival++;
- a._setLocalZOrder(b);
- this.setNodeDirty()
- },
- sortAllChildren: function () {
- if (this._reorderChildDirty) {
- var a = this._children,
- b = a.length,
- c,
- d,
- e;
- for (c = 1; c < b; c++) {
- e = a[c];
- for (d = c - 1; 0 <= d;) {
- if (e._localZOrder < a[d]._localZOrder) a[d + 1] = a[d];
- else if (e._localZOrder === a[d]._localZOrder && e.arrivalOrder < a[d].arrivalOrder) a[d + 1] = a[d];
- else break;
- d--
- }
- a[d + 1] = e
- }
- this._reorderChildDirty = !1
- }
- },
- draw: function (a) { },
- transformAncestors: function () {
- null != this._parent && (this._parent.transformAncestors(), this._parent.transform())
- },
- onEnter: function () {
- this._isTransitionFinished = !1;
- this._running = !0;
- this._arrayMakeObjectsPerformSelector(this._children, cc.Node._StateCallbackType.onEnter);
- this.resume()
- },
- onEnterTransitionDidFinish: function () {
- this._isTransitionFinished = !0;
- this._arrayMakeObjectsPerformSelector(this._children, cc.Node._StateCallbackType.onEnterTransitionDidFinish)
- },
- onExitTransitionDidStart: function () {
- this._arrayMakeObjectsPerformSelector(this._children, cc.Node._StateCallbackType.onExitTransitionDidStart)
- },
- onExit: function () {
- this._running = !1;
- this.pause();
- this._arrayMakeObjectsPerformSelector(this._children, cc.Node._StateCallbackType.onExit);
- this.removeAllComponents()
- },
- runAction: function (a) {
- cc.assert(a, cc._LogInfos.Node_runAction);
- this.actionManager.addAction(a, this, !this._running);
- return a
- },
- stopAllActions: function () {
- this.actionManager && this.actionManager.removeAllActionsFromTarget(this)
- },
- stopAction: function (a) {
- this.actionManager.removeAction(a)
- },
- stopActionByTag: function (a) {
- a === cc.ACTION_TAG_INVALID ? cc.log(cc._LogInfos.Node_stopActionByTag) : this.actionManager.removeActionByTag(a, this)
- },
- getActionByTag: function (a) {
- return a === cc.ACTION_TAG_INVALID ? (cc.log(cc._LogInfos.Node_getActionByTag), null) : this.actionManager.getActionByTag(a, this)
- },
- getNumberOfRunningActions: function () {
- return this.actionManager.numberOfRunningActionsInTarget(this)
- },
- scheduleUpdate: function () {
- this.scheduleUpdateWithPriority(0)
- },
- scheduleUpdateWithPriority: function (a) {
- this.scheduler.scheduleUpdateForTarget(this, a, !this._running)
- },
- unscheduleUpdate: function () {
- this.scheduler.unscheduleUpdateForTarget(this)
- },
- schedule: function (a, b, c, d) {
- b = b || 0;
- cc.assert(a, cc._LogInfos.Node_schedule);
- cc.assert(0 <= b, cc._LogInfos.Node_schedule_2);
- c = null == c ? cc.REPEAT_FOREVER : c;
- this.scheduler.scheduleCallbackForTarget(this, a, b, c, d || 0, !this._running)
- },
- scheduleOnce: function (a, b) {
- this.schedule(a, 0, 0, b)
- },
- unschedule: function (a) {
- a && this.scheduler.unscheduleCallbackForTarget(this, a)
- },
- unscheduleAllCallbacks: function () {
- this.scheduler.unscheduleAllCallbacksForTarget(this)
- },
- resumeSchedulerAndActions: function () {
- cc.log(cc._LogInfos.Node_resumeSchedulerAndActions);
- this.resume()
- },
- resume: function () {
- this.scheduler.resumeTarget(this);
- this.actionManager && this.actionManager.resumeTarget(this);
- cc.eventManager.resumeTarget(this)
- },
- pauseSchedulerAndActions: function () {
- cc.log(cc._LogInfos.Node_pauseSchedulerAndActions);
- this.pause()
- },
- pause: function () {
- this.scheduler.pauseTarget(this);
- this.actionManager && this.actionManager.pauseTarget(this);
- cc.eventManager.pauseTarget(this)
- },
- setAdditionalTransform: function (a) {
- this._additionalTransform = a;
- this._additionalTransformDirty = this._transformDirty = !0
- },
- getParentToNodeTransform: function () {
- this._inverseDirty && (this._inverse = cc.affineTransformInvert(this.getNodeToParentTransform()), this._inverseDirty = !1);
- return this._inverse
- },
- parentToNodeTransform: function () {
- return this.getParentToNodeTransform()
- },
- getNodeToWorldTransform: function () {
- for (var a = this.getNodeToParentTransform(), b = this._parent; null != b; b = b.parent) a = cc.affineTransformConcat(a, b.getNodeToParentTransform());
- return a
- },
- nodeToWorldTransform: function () {
- return this.getNodeToWorldTransform()
- },
- getWorldToNodeTransform: function () {
- return cc.affineTransformInvert(this.getNodeToWorldTransform())
- },
- worldToNodeTransform: function () {
- return this.getWorldToNodeTransform()
- },
- convertToNodeSpace: function (a) {
- return cc.pointApplyAffineTransform(a, this.getWorldToNodeTransform())
- },
- convertToWorldSpace: function (a) {
- a = a || cc.p(0, 0);
- return cc.pointApplyAffineTransform(a, this.getNodeToWorldTransform())
- },
- convertToNodeSpaceAR: function (a) {
- return cc.pSub(this.convertToNodeSpace(a), this._anchorPointInPoints)
- },
- convertToWorldSpaceAR: function (a) {
- a = a || cc.p(0, 0);
- a = cc.pAdd(a, this._anchorPointInPoints);
- return this.convertToWorldSpace(a)
- },
- _convertToWindowSpace: function (a) {
- a = this.convertToWorldSpace(a);
- return cc.director.convertToUI(a)
- },
- convertTouchToNodeSpace: function (a) {
- a = a.getLocation();
- return this.convertToNodeSpace(a)
- },
- convertTouchToNodeSpaceAR: function (a) {
- a = a.getLocation();
- a = cc.director.convertToGL(a);
- return this.convertToNodeSpaceAR(a)
- },
- update: function (a) {
- this._componentContainer && !this._componentContainer.isEmpty() && this._componentContainer.visit(a)
- },
- updateTransform: function () {
- this._arrayMakeObjectsPerformSelector(this._children, cc.Node._StateCallbackType.updateTransform)
- },
- retain: function () { },
- release: function () { },
- getComponent: function (a) {
- return this._componentContainer ? this._componentContainer.getComponent(a) : null
- },
- addComponent: function (a) {
- this._componentContainer && this._componentContainer.add(a)
- },
- removeComponent: function (a) {
- return this._componentContainer ? this._componentContainer.remove(a) : !1
- },
- removeAllComponents: function () {
- this._componentContainer && this._componentContainer.removeAll()
- },
- grid: null,
- ctor: null,
- visit: null,
- transform: null,
- nodeToParentTransform: function () {
- return this.getNodeToParentTransform()
- },
- getNodeToParentTransform: null,
- _setNodeDirtyForCache: function () {
- if (!1 === this._cacheDirty) {
- this._cacheDirty = !0;
- var a = this._cachedParent;
- a && a != this && a._setNodeDirtyForCache()
- }
- },
- _setCachedParent: function (a) {
- if (this._cachedParent != a) {
- this._cachedParent = a;
- for (var b = this._children, c = 0, d = b.length; c < d; c++) b[c]._setCachedParent(a)
- }
- },
- getCamera: function () {
- this._camera || (this._camera = new cc.Camera);
- return this._camera
- },
- getGrid: function () {
- return this.grid
- },
- setGrid: function (a) {
- this.grid = a
- },
- getShaderProgram: function () {
- return this._shaderProgram
- },
- setShaderProgram: function (a) {
- this._shaderProgram = a
- },
- getGLServerState: function () {
- return this._glServerState
- },
- setGLServerState: function (a) {
- this._glServerState = a
- },
- getBoundingBoxToWorld: function () {
- var a = cc.rect(0, 0, this._contentSize.width, this._contentSize.height),
- b = this.getNodeToWorldTransform(),
- a = cc.rectApplyAffineTransform(a, this.getNodeToWorldTransform());
- if (!this._children) return a;
- for (var c = this._children, d = 0; d < c.length; d++) {
- var e = c[d];
- e && e._visible && (e = e._getBoundingBoxToCurrentNode(b)) && (a = cc.rectUnion(a, e))
- }
- return a
- },
- _getBoundingBoxToCurrentNode: function (a) {
- var b = cc.rect(0, 0, this._contentSize.width, this._contentSize.height);
- a = null == a ? this.getNodeToParentTransform() : cc.affineTransformConcat(this.getNodeToParentTransform(), a);
- b = cc.rectApplyAffineTransform(b, a);
- if (!this._children) return b;
- for (var c = this._children, d = 0; d < c.length; d++) {
- var e = c[d];
- e && e._visible && (e = e._getBoundingBoxToCurrentNode(a)) && (b = cc.rectUnion(b, e))
- }
- return b
- },
- _getNodeToParentTransformForWebGL: function () {
- if (this._transformDirty) {
- var a = this._position.x,
- b = this._position.y,
- c = this._anchorPointInPoints.x,
- d = -c,
- e = this._anchorPointInPoints.y,
- f = -e,
- g = this._scaleX,
- h = this._scaleY;
- this._ignoreAnchorPointForPosition && (a += c, b += e);
- var k = 1,
- m = 0,
- n = 1,
- q = 0;
- if (0 !== this._rotationX || 0 !== this._rotationY) k = Math.cos(-this._rotationRadiansX),
- m = Math.sin(-this._rotationRadiansX),
- n = Math.cos(-this._rotationRadiansY),
- q = Math.sin(-this._rotationRadiansY);
- var r = this._skewX || this._skewY;
- r || 0 === c && 0 === e || (a += n * d * g + -m * f * h, b += q * d * g + k * f * h);
- var s = this._transform;
- s.a = n * g;
- s.b = q * g;
- s.c = -m * h;
- s.d = k * h;
- s.tx = a;
- s.ty = b;
- r && (s = cc.affineTransformConcat({
- a: 1,
- b: Math.tan(cc.degreesToRadians(this._skewY)),
- c: Math.tan(cc.degreesToRadians(this._skewX)),
- d: 1,
- tx: 0,
- ty: 0
- },
- s), 0 !== c || 0 !== e) && (s = cc.affineTransformTranslate(s, d, f));
- this._additionalTransformDirty && (s = cc.affineTransformConcat(s, this._additionalTransform), this._additionalTransformDirty = !1);
- this._transform = s;
- this._transformDirty = !1
- }
- return this._transform
- },
- _updateColor: function () { },
- getOpacity: function () {
- return this._realOpacity
- },
- getDisplayedOpacity: function () {
- return this._displayedOpacity
- },
- setOpacity: function (a) {
- this._displayedOpacity = this._realOpacity = a;
- var b = 255,
- c = this._parent;
- c && c.cascadeOpacity && (b = c.getDisplayedOpacity());
- this.updateDisplayedOpacity(b);
- this._displayedColor.a = this._realColor.a = a
- },
- updateDisplayedOpacity: function (a) {
- this._displayedOpacity = this._realOpacity * a / 255;
- if (this._cascadeOpacityEnabled) {
- a = this._children;
- for (var b = 0; b < a.length; b++) {
- var c = a[b];
- c && c.updateDisplayedOpacity(this._displayedOpacity)
- }
- }
- },
- isCascadeOpacityEnabled: function () {
- return this._cascadeOpacityEnabled
- },
- setCascadeOpacityEnabled: function (a) {
- this._cascadeOpacityEnabled !== a && ((this._cascadeOpacityEnabled = a) ? this._enableCascadeOpacity() : this._disableCascadeOpacity())
- },
- _enableCascadeOpacity: function () {
- var a = 255,
- b = this._parent;
- b && b.cascadeOpacity && (a = b.getDisplayedOpacity());
- this.updateDisplayedOpacity(a)
- },
- _disableCascadeOpacity: function () {
- this._displayedOpacity = this._realOpacity;
- for (var a = this._children, b = 0; b < a.length; b++) {
- var c = a[b];
- c && c.updateDisplayedOpacity(255)
- }
- },
- getColor: function () {
- var a = this._realColor;
- return cc.color(a.r, a.g, a.b, a.a)
- },
- getDisplayedColor: function () {
- var a = this._displayedColor;
- return cc.color(a.r, a.g, a.b, a.a)
- },
- setColor: function (a) {
- var b = this._displayedColor,
- c = this._realColor;
- b.r = c.r = a.r;
- b.g = c.g = a.g;
- b.b = c.b = a.b;
- a = (a = this._parent) && a.cascadeColor ? a.getDisplayedColor() : cc.color.WHITE;
- this.updateDisplayedColor(a)
- },
- updateDisplayedColor: function (a) {
- var b = this._displayedColor,
- c = this._realColor;
- b.r = 0 | c.r * a.r / 255;
- b.g = 0 | c.g * a.g / 255;
- b.b = 0 | c.b * a.b / 255;
- if (this._cascadeColorEnabled) for (a = this._children, c = 0; c < a.length; c++) {
- var d = a[c];
- d && d.updateDisplayedColor(b)
- }
- },
- isCascadeColorEnabled: function () {
- return this._cascadeColorEnabled
- },
- setCascadeColorEnabled: function (a) {
- this._cascadeColorEnabled !== a && ((this._cascadeColorEnabled = a) ? this._enableCascadeColor() : this._disableCascadeColor())
- },
- _enableCascadeColor: function () {
- var a;
- a = (a = this._parent) && a.cascadeColor ? a.getDisplayedColor() : cc.color.WHITE;
- this.updateDisplayedColor(a)
- },
- _disableCascadeColor: function () {
- var a = this._displayedColor,
- b = this._realColor;
- a.r = b.r;
- a.g = b.g;
- a.b = b.b;
- for (var a = this._children, b = cc.color.WHITE, c = 0; c < a.length; c++) {
- var d = a[c];
- d && d.updateDisplayedColor(b)
- }
- },
- setOpacityModifyRGB: function (a) { },
- isOpacityModifyRGB: function () {
- return !1
- }
- });
- cc.Node.create = function () {
- return new cc.Node
- };
- cc.Node._StateCallbackType = {
- onEnter: 1,
- onExit: 2,
- cleanup: 3,
- onEnterTransitionDidFinish: 4,
- updateTransform: 5,
- onExitTransitionDidStart: 6,
- sortAllChildren: 7
- };
- cc._renderType === cc._RENDER_TYPE_CANVAS ? (_p = cc.Node.prototype, _p.ctor = function () {
- this._initNode()
- },
- _p.setNodeDirty = function () {
- this._setNodeDirtyForCache(); !1 === this._transformDirty && (this._transformDirty = this._inverseDirty = !0)
- },
- _p.visit = function (a) {
- if (this._visible) {
- a = a || cc._renderContext;
- var b,
- c = this._children,
- d;
- a.save();
- this.transform(a);
- var e = c.length;
- if (0 < e) {
- this.sortAllChildren();
- for (b = 0; b < e; b++) if (d = c[b], 0 > d._localZOrder) d.visit(a);
- else break;
- for (this.draw(a) ; b < e; b++) c[b].visit(a)
- } else this.draw(a);
- this._cacheDirty = !1;
- this.arrivalOrder = 0;
- a.restore()
- }
- },
- _p.transform = function (a) {
- a = a || cc._renderContext;
- var b = cc.view,
- c = this.getNodeToParentTransform();
- a.transform(c.a, c.c, c.b, c.d, c.tx * b.getScaleX(), -c.ty * b.getScaleY())
- },
- _p.getNodeToParentTransform = function () {
- if (this._transformDirty) {
- var a = this._transform;
- a.tx = this._position.x;
- a.ty = this._position.y;
- var b = 1,
- c = 0;
- this._rotationX && (b = Math.cos(this._rotationRadiansX), c = Math.sin(this._rotationRadiansX));
- a.a = a.d = b;
- a.b = -c;
- a.c = c;
- var d = this._scaleX,
- e = this._scaleY,
- f = this._anchorPointInPoints.x,
- g = this._anchorPointInPoints.y,
- h = 1E-6 > d && -1E-6 < d ? 1E-6 : d,
- k = 1E-6 > e && -1E-6 < e ? 1E-6 : e;
- if (this._skewX || this._skewY) {
- var m = Math.tan(-this._skewX * Math.PI / 180),
- n = Math.tan(-this._skewY * Math.PI / 180);
- Infinity === m && (m = 99999999);
- Infinity === n && (n = 99999999);
- var q = g * m * h,
- r = f * n * k;
- a.a = b + -c * n;
- a.b = b * m + -c;
- a.c = c + b * n;
- a.d = c * m + b;
- a.tx += b * q + -c * r;
- a.ty += c * q + b * r
- }
- if (1 !== d || 1 !== e) a.a *= h,
- a.c *= h,
- a.b *= k,
- a.d *= k;
- a.tx += b * -f * h + -c * g * k;
- a.ty -= c * -f * h + b * g * k;
- this._ignoreAnchorPointForPosition && (a.tx += f, a.ty += g);
- this._additionalTransformDirty && (this._transform = cc.affineTransformConcat(a, this._additionalTransform), this._additionalTransformDirty = !1);
- this._transformDirty = !1
- }
- return this._transform
- },
- _p = null) : (cc.assert(cc.isFunction(cc._tmp.WebGLCCNode), cc._LogInfos.MissingFile, "BaseNodesWebGL.js"), cc._tmp.WebGLCCNode(), delete cc._tmp.WebGLCCNode);
- cc.assert(cc.isFunction(cc._tmp.PrototypeCCNode), cc._LogInfos.MissingFile, "BaseNodesPropertyDefine.js");
- cc._tmp.PrototypeCCNode();
- delete cc._tmp.PrototypeCCNode;
- cc.AtlasNode = cc.Node.extend({
- textureAtlas: null,
- quadsToDraw: 0,
- _itemsPerRow: 0,
- _itemsPerColumn: 0,
- _itemWidth: 0,
- _itemHeight: 0,
- _colorUnmodified: null,
- _opacityModifyRGB: !1,
- _blendFunc: null,
- _ignoreContentScaleFactor: !1,
- _className: "AtlasNode",
- ctor: function (a, b, c, d) {
- cc.Node.prototype.ctor.call(this);
- this._colorUnmodified = cc.color.WHITE;
- this._blendFunc = {
- src: cc.BLEND_SRC,
- dst: cc.BLEND_DST
- };
- this._ignoreContentScaleFactor = !1;
- void 0 !== d && this.initWithTileFile(a, b, c, d)
- },
- updateAtlasValues: function () {
- cc.log(cc._LogInfos.AtlasNode_updateAtlasValues)
- },
- getColor: function () {
- return this._opacityModifyRGB ? this._colorUnmodified : cc.Node.prototype.getColor.call(this)
- },
- setOpacityModifyRGB: function (a) {
- var b = this.color;
- this._opacityModifyRGB = a;
- this.color = b
- },
- isOpacityModifyRGB: function () {
- return this._opacityModifyRGB
- },
- getBlendFunc: function () {
- return this._blendFunc
- },
- setBlendFunc: function (a, b) {
- this._blendFunc = void 0 === b ? a : {
- src: a,
- dst: b
- }
- },
- setTextureAtlas: function (a) {
- this.textureAtlas = a
- },
- getTextureAtlas: function () {
- return this.textureAtlas
- },
- getQuadsToDraw: function () {
- return this.quadsToDraw
- },
- setQuadsToDraw: function (a) {
- this.quadsToDraw = a
- },
- _textureForCanvas: null,
- _originalTexture: null,
- _uniformColor: null,
- _colorF32Array: null,
- initWithTileFile: function (a, b, c, d) {
- if (!a) throw "cc.AtlasNode.initWithTileFile(): title should not be null";
- a = cc.textureCache.addImage(a);
- return this.initWithTexture(a, b, c, d)
- },
- initWithTexture: null,
- _initWithTextureForCanvas: function (a, b, c, d) {
- this._itemWidth = b;
- this._itemHeight = c;
- this._opacityModifyRGB = !0;
- this._originalTexture = a;
- if (!this._originalTexture) return cc.log(cc._LogInfos.AtlasNode__initWithTexture),
- !1;
- this._textureForCanvas = this._originalTexture;
- this._calculateMaxItems();
- this.quadsToDraw = d;
- return !0
- },
- _initWithTextureForWebGL: function (a, b, c, d) {
- this._itemWidth = b;
- this._itemHeight = c;
- this._colorUnmodified = cc.color.WHITE;
- this._opacityModifyRGB = !0;
- this._blendFunc.src = cc.BLEND_SRC;
- this._blendFunc.dst = cc.BLEND_DST;
- b = this._realColor;
- this._colorF32Array = new Float32Array([b.r / 255, b.g / 255, b.b / 255, this._realOpacity / 255]);
- this.textureAtlas = new cc.TextureAtlas;
- this.textureAtlas.initWithTexture(a, d);
- if (!this.textureAtlas) return cc.log(cc._LogInfos.AtlasNode__initWithTexture),
- !1;
- this._updateBlendFunc();
- this._updateOpacityModifyRGB();
- this._calculateMaxItems();
- this.quadsToDraw = d;
- this.shaderProgram = cc.shaderCache.programForKey(cc.SHADER_POSITION_TEXTURE_UCOLOR);
- this._uniformColor = cc._renderContext.getUniformLocation(this.shaderProgram.getProgram(), "u_color");
- return !0
- },
- draw: null,
- _drawForWebGL: function (a) {
- a = a || cc._renderContext;
- cc.nodeDrawSetup(this);
- cc.glBlendFunc(this._blendFunc.src, this._blendFunc.dst);
- this._uniformColor && this._colorF32Array && (a.uniform4fv(this._uniformColor, this._colorF32Array), this.textureAtlas.drawNumberOfQuads(this.quadsToDraw, 0))
- },
- setColor: null,
- _setColorForCanvas: function (a) {
- var b = this._realColor;
- if (b.r != a.r || b.g != a.g || b.b != a.b) {
- b = cc.color(a.r, a.g, a.b);
- this._colorUnmodified = a;
- if (this._opacityModifyRGB) {
- var c = this._displayedOpacity;
- b.r = b.r * c / 255;
- b.g = b.g * c / 255;
- b.b = b.b * c / 255
- }
- cc.Node.prototype.setColor.call(this, a);
- this._changeTextureColor()
- }
- },
- _changeTextureColor: function () {
- var a = this.getTexture();
- if (a && this._originalTexture) {
- var b = this._originalTexture.getHtmlElementObj();
- if (b) {
- var c = a.getHtmlElementObj(),
- a = cc.rect(0, 0, b.width, b.height);
- c instanceof HTMLCanvasElement ? cc.generateTintImageWithMultiply(b, this._displayedColor, a, c) : (c = cc.generateTintImageWithMultiply(b, this._displayedColor, a), a = new cc.Texture2D, a.initWithElement(c), a.handleLoadedTexture(), this.setTexture(a))
- }
- }
- },
- _setColorForWebGL: function (a) {
- var b = cc.color(a.r, a.g, a.b);
- this._colorUnmodified = a;
- var c = this._displayedOpacity;
- this._opacityModifyRGB && (b.r = b.r * c / 255, b.g = b.g * c / 255, b.b = b.b * c / 255);
- cc.Node.prototype.setColor.call(this, a);
- a = this._displayedColor;
- this._colorF32Array = new Float32Array([a.r / 255, a.g / 255, a.b / 255, c / 255])
- },
- setOpacity: function (a) { },
- _setOpacityForCanvas: function (a) {
- cc.Node.prototype.setOpacity.call(this, a);
- this._opacityModifyRGB && (this.color = this._colorUnmodified)
- },
- _setOpacityForWebGL: function (a) {
- cc.Node.prototype.setOpacity.call(this, a);
- this._opacityModifyRGB ? this.color = this._colorUnmodified : (a = this._displayedColor, this._colorF32Array = new Float32Array([a.r / 255, a.g / 255, a.b / 255, this._displayedOpacity / 255]))
- },
- getTexture: null,
- _getTextureForCanvas: function () {
- return this._textureForCanvas
- },
- _getTextureForWebGL: function () {
- return this.textureAtlas.texture
- },
- setTexture: null,
- _setTextureForCanvas: function (a) {
- this._textureForCanvas = a
- },
- _setTextureForWebGL: function (a) {
- this.textureAtlas.texture = a;
- this._updateBlendFunc();
- this._updateOpacityModifyRGB()
- },
- _calculateMaxItems: null,
- _calculateMaxItemsForCanvas: function () {
- var a = this.texture.getContentSize();
- this._itemsPerColumn = 0 | a.height / this._itemHeight;
- this._itemsPerRow = 0 | a.width / this._itemWidth
- },
- _calculateMaxItemsForWebGL: function () {
- var a = this.texture,
- b = a.getContentSize();
- this._ignoreContentScaleFactor && (b = a.getContentSizeInPixels());
- this._itemsPerColumn = 0 | b.height / this._itemHeight;
- this._itemsPerRow = 0 | b.width / this._itemWidth
- },
- _updateBlendFunc: function () {
- this.textureAtlas.texture.hasPremultipliedAlpha() || (this._blendFunc.src = cc.SRC_ALPHA, this._blendFunc.dst = cc.ONE_MINUS_SRC_ALPHA)
- },
- _updateOpacityModifyRGB: function () {
- this._opacityModifyRGB = this.textureAtlas.texture.hasPremultipliedAlpha()
- },
- _setIgnoreContentScaleFactor: function (a) {
- this._ignoreContentScaleFactor = a
- }
- });
- _p = cc.AtlasNode.prototype;
- cc._renderType === cc._RENDER_TYPE_WEBGL ? (_p.initWithTexture = _p._initWithTextureForWebGL, _p.draw = _p._drawForWebGL, _p.setColor = _p._setColorForWebGL, _p.setOpacity = _p._setOpacityForWebGL, _p.getTexture = _p._getTextureForWebGL, _p.setTexture = _p._setTextureForWebGL, _p._calculateMaxItems = _p._calculateMaxItemsForWebGL) : (_p.initWithTexture = _p._initWithTextureForCanvas, _p.draw = cc.Node.prototype.draw, _p.setColor = _p._setColorForCanvas, _p.setOpacity = _p._setOpacityForCanvas, _p.getTexture = _p._getTextureForCanvas, _p.setTexture = _p._setTextureForCanvas, _p._calculateMaxItems = _p._calculateMaxItemsForCanvas, cc.sys._supportCanvasNewBlendModes || (_p._changeTextureColor = function () {
- var a,
- b = this.getTexture();
- if (b && this._originalTexture && (a = b.getHtmlElementObj())) {
- var c = this._originalTexture.getHtmlElementObj();
- if (b = cc.textureCache.getTextureColors(c)) c = cc.rect(0, 0, c.width, c.height),
- a instanceof HTMLCanvasElement ? cc.generateTintImage(a, b, this._displayedColor, c, a) : (a = cc.generateTintImage(a, b, this._displayedColor, c), b = new cc.Texture2D, b.initWithElement(a), b.handleLoadedTexture(), this.setTexture(b))
- }
- }));
- cc.defineGetterSetter(_p, "opacity", _p.getOpacity, _p.setOpacity);
- cc.defineGetterSetter(_p, "color", _p.getColor, _p.setColor);
- cc.defineGetterSetter(_p, "texture", _p.getTexture, _p.setTexture);
- cc.AtlasNode.create = function (a, b, c, d) {
- return new cc.AtlasNode(a, b, c, d)
- };
- cc._tmp.WebGLTexture2D = function () {
- cc.Texture2D = cc.Class.extend({
- _pVRHaveAlphaPremultiplied: !0,
- _pixelFormat: null,
- _pixelsWide: 0,
- _pixelsHigh: 0,
- _name: "",
- _contentSize: null,
- maxS: 0,
- maxT: 0,
- _hasPremultipliedAlpha: !1,
- _hasMipmaps: !1,
- shaderProgram: null,
- _isLoaded: !1,
- _htmlElementObj: null,
- _webTextureObj: null,
- url: null,
- _loadedEventListeners: null,
- ctor: function () {
- this._contentSize = cc.size(0, 0);
- this._pixelFormat = cc.Texture2D.defaultPixelFormat
- },
- releaseTexture: function () {
- this._webTextureObj && cc._renderContext.deleteTexture(this._webTextureObj);
- cc.loader.release(this.url)
- },
- getPixelFormat: function () {
- return this._pixelFormat
- },
- getPixelsWide: function () {
- return this._pixelsWide
- },
- getPixelsHigh: function () {
- return this._pixelsHigh
- },
- getName: function () {
- return this._webTextureObj
- },
- getContentSize: function () {
- return cc.size(this._contentSize.width / cc.contentScaleFactor(), this._contentSize.height / cc.contentScaleFactor())
- },
- _getWidth: function () {
- return this._contentSize.width / cc.contentScaleFactor()
- },
- _getHeight: function () {
- return this._contentSize.height / cc.contentScaleFactor()
- },
- getContentSizeInPixels: function () {
- return this._contentSize
- },
- getMaxS: function () {
- return this.maxS
- },
- setMaxS: function (a) {
- this.maxS = a
- },
- getMaxT: function () {
- return this.maxT
- },
- setMaxT: function (a) {
- this.maxT = a
- },
- getShaderProgram: function () {
- return this.shaderProgram
- },
- setShaderProgram: function (a) {
- this.shaderProgram = a
- },
- hasPremultipliedAlpha: function () {
- return this._hasPremultipliedAlpha
- },
- hasMipmaps: function () {
- return this._hasMipmaps
- },
- description: function () {
- return "\x3ccc.Texture2D | Name \x3d " + this._name + " | Dimensions \x3d " +
- this._pixelsWide + " x " + this._pixelsHigh + " | Coordinates \x3d (" + this.maxS + ", " + this.maxT + ")\x3e"
- },
- releaseData: function (a) { },
- keepData: function (a, b) {
- return a
- },
- initWithData: function (a, b, c, d, e) {
- var f = cc.Texture2D,
- g = cc._renderContext,
- h = g.RGBA,
- k = g.UNSIGNED_BYTE,
- m = c * cc.Texture2D._B[b] / 8;
- 0 === m % 8 ? g.pixelStorei(g.UNPACK_ALIGNMENT, 8) : 0 === m % 4 ? g.pixelStorei(g.UNPACK_ALIGNMENT, 4) : 0 === m % 2 ? g.pixelStorei(g.UNPACK_ALIGNMENT, 2) : g.pixelStorei(g.UNPACK_ALIGNMENT, 1);
- this._webTextureObj = g.createTexture();
- cc.glBindTexture2D(this);
- g.texParameteri(g.TEXTURE_2D, g.TEXTURE_MIN_FILTER, g.LINEAR);
- g.texParameteri(g.TEXTURE_2D, g.TEXTURE_MAG_FILTER, g.LINEAR);
- g.texParameteri(g.TEXTURE_2D, g.TEXTURE_WRAP_S, g.CLAMP_TO_EDGE);
- g.texParameteri(g.TEXTURE_2D, g.TEXTURE_WRAP_T, g.CLAMP_TO_EDGE);
- switch (b) {
- case f.PIXEL_FORMAT_RGBA8888:
- h = g.RGBA;
- break;
- case f.PIXEL_FORMAT_RGB888:
- h = g.RGB;
- break;
- case f.PIXEL_FORMAT_RGBA4444:
- k = g.UNSIGNED_SHORT_4_4_4_4;
- break;
- case f.PIXEL_FORMAT_RGB5A1:
- k = g.UNSIGNED_SHORT_5_5_5_1;
- break;
- case f.PIXEL_FORMAT_RGB565:
- k = g.UNSIGNED_SHORT_5_6_5;
- break;
- case f.PIXEL_FORMAT_AI88:
- h = g.LUMINANCE_ALPHA;
- break;
- case f.PIXEL_FORMAT_A8:
- h = g.ALPHA;
- break;
- case f.PIXEL_FORMAT_I8:
- h = g.LUMINANCE;
- break;
- default:
- cc.assert(0, cc._LogInfos.Texture2D_initWithData)
- }
- g.texImage2D(g.TEXTURE_2D, 0, h, c, d, 0, h, k, a);
- this._contentSize.width = e.width;
- this._contentSize.height = e.height;
- this._pixelsWide = c;
- this._pixelsHigh = d;
- this._pixelFormat = b;
- this.maxS = e.width / c;
- this.maxT = e.height / d;
- this._hasMipmaps = this._hasPremultipliedAlpha = !1;
- this.shaderProgram = cc.shaderCache.programForKey(cc.SHADER_POSITION_TEXTURE);
- return this._isLoaded = !0
- },
- drawAtPoint: function (a) {
- var b = [0, this.maxT, this.maxS, this.maxT, 0, 0, this.maxS, 0],
- c = this._pixelsWide * this.maxS,
- d = this._pixelsHigh * this.maxT;
- a = [a.x, a.y, 0, c + a.x, a.y, 0, a.x, d + a.y, 0, c + a.x, d + a.y, 0];
- cc.glEnableVertexAttribs(cc.VERTEX_ATTRIB_FLAG_POSITION | cc.VERTEX_ATTRIB_FLAG_TEX_COORDS);
- this._shaderProgram.use();
- this._shaderProgram.setUniformsForBuiltins();
- cc.glBindTexture2D(this);
- c = cc._renderContext;
- c.vertexAttribPointer(cc.VERTEX_ATTRIB_POSITION, 2, c.FLOAT, !1, 0, a);
- c.vertexAttribPointer(cc.VERTEX_ATTRIB_TEX_COORDS, 2, c.FLOAT, !1, 0, b);
- c.drawArrays(c.TRIANGLE_STRIP, 0, 4)
- },
- drawInRect: function (a) {
- var b = [0, this.maxT, this.maxS, this.maxT, 0, 0, this.maxS, 0];
- a = [a.x, a.y, a.x + a.width, a.y, a.x, a.y + a.height, a.x + a.width, a.y + a.height];
- cc.glEnableVertexAttribs(cc.VERTEX_ATTRIB_FLAG_POSITION | cc.VERTEX_ATTRIB_FLAG_TEX_COORDS);
- this._shaderProgram.use();
- this._shaderProgram.setUniformsForBuiltins();
- cc.glBindTexture2D(this);
- var c = cc._renderContext;
- c.vertexAttribPointer(cc.VERTEX_ATTRIB_POSITION, 2, c.FLOAT, !1, 0, a);
- c.vertexAttribPointer(cc.VERTEX_ATTRIB_TEX_COORDS, 2, c.FLOAT, !1, 0, b);
- c.drawArrays(c.TRIANGLE_STRIP, 0, 4)
- },
- initWithImage: function (a) {
- if (null == a) return cc.log(cc._LogInfos.Texture2D_initWithImage),
- !1;
- var b = a.getWidth(),
- c = a.getHeight(),
- d = cc.configuration.getMaxTextureSize();
- if (b > d || c > d) return cc.log(cc._LogInfos.Texture2D_initWithImage_2, b, c, d, d),
- !1;
- this._isLoaded = !0;
- return this._initPremultipliedATextureWithImage(a, b, c)
- },
- initWithElement: function (a) {
- a && (this._webTextureObj = cc._renderContext.createTexture(), this._htmlElementObj = a)
- },
- getHtmlElementObj: function () {
- return this._htmlElementObj
- },
- isLoaded: function () {
- return this._isLoaded
- },
- handleLoadedTexture: function () {
- if (cc._rendererInitialized) {
- if (!this._htmlElementObj) {
- var a = cc.loader.getRes(this.url);
- if (!a) return;
- this.initWithElement(a)
- }
- this._htmlElementObj.width && this._htmlElementObj.height && (this._isLoaded = !0, a = cc._renderContext, cc.glBindTexture2D(this), a.pixelStorei(a.UNPACK_ALIGNMENT, 4), a.texImage2D(a.TEXTURE_2D, 0, a.RGBA, a.RGBA, a.UNSIGNED_BYTE, this._htmlElementObj), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MIN_FILTER, a.LINEAR), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MAG_FILTER, a.LINEAR), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_WRAP_S, a.CLAMP_TO_EDGE), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_WRAP_T, a.CLAMP_TO_EDGE), this.shaderProgram = cc.shaderCache.programForKey(cc.SHADER_POSITION_TEXTURE), cc.glBindTexture2D(null), a = this._htmlElementObj.height, this._pixelsWide = this._contentSize.width = this._htmlElementObj.width, this._pixelsHigh = this._contentSize.height = a, this._pixelFormat = cc.Texture2D.PIXEL_FORMAT_RGBA8888, this.maxT = this.maxS = 1, this._hasMipmaps = this._hasPremultipliedAlpha = !1, this._callLoadedEventCallbacks())
- }
- },
- initWithString: function (a, b, c, d, e, f) {
- cc.log(cc._LogInfos.Texture2D_initWithString);
- return null
- },
- initWithETCFile: function (a) {
- cc.log(cc._LogInfos.Texture2D_initWithETCFile_2);
- return !1
- },
- initWithPVRFile: function (a) {
- cc.log(cc._LogInfos.Texture2D_initWithPVRFile_2);
- return !1
- },
- initWithPVRTCData: function (a, b, c, d, e, f) {
- cc.log(cc._LogInfos.Texture2D_initWithPVRTCData_2);
- return !1
- },
- setTexParameters: function (a, b, c, d) {
- var e = cc._renderContext;
- void 0 !== b && (a = {
- minFilter: a,
- magFilter: b,
- wrapS: c,
- wrapT: d
- });
- cc.assert(this._pixelsWide == cc.NextPOT(this._pixelsWide) && this._pixelsHigh == cc.NextPOT(this._pixelsHigh) || a.wrapS == e.CLAMP_TO_EDGE && a.wrapT == e.CLAMP_TO_EDGE, "WebGLRenderingContext.CLAMP_TO_EDGE should be used in NPOT textures");
- cc.glBindTexture2D(this);
- e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MIN_FILTER, a.minFilter);
- e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MAG_FILTER, a.magFilter);
- e.texParameteri(e.TEXTURE_2D, e.TEXTURE_WRAP_S, a.wrapS);
- e.texParameteri(e.TEXTURE_2D, e.TEXTURE_WRAP_T, a.wrapT)
- },
- setAntiAliasTexParameters: function () {
- var a = cc._renderContext;
- cc.glBindTexture2D(this);
- this._hasMipmaps ? a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MIN_FILTER, a.LINEAR_MIPMAP_NEAREST) : a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MIN_FILTER, a.LINEAR);
- a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MAG_FILTER, a.NEAREST)
- },
- setAliasTexParameters: function () {
- var a = cc._renderContext;
- cc.glBindTexture2D(this);
- this._hasMipmaps ? a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MIN_FILTER, a.NEAREST_MIPMAP_NEAREST) : a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MIN_FILTER, a.NEAREST);
- a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MAG_FILTER, a.NEAREST)
- },
- generateMipmap: function () {
- cc.assert(this._pixelsWide == cc.NextPOT(this._pixelsWide) && this._pixelsHigh == cc.NextPOT(this._pixelsHigh), "Mimpap texture only works in POT textures");
- cc.glBindTexture2D(this);
- cc._renderContext.generateMipmap(cc._renderContext.TEXTURE_2D);
- this._hasMipmaps = !0
- },
- stringForFormat: function () {
- return cc.Texture2D._M[this._pixelFormat]
- },
- bitsPerPixelForFormat: function (a) {
- a = a || this._pixelFormat;
- var b = cc.Texture2D._B[a];
- if (null != b) return b;
- cc.log(cc._LogInfos.Texture2D_bitsPerPixelForFormat, a);
- return -1
- },
- _initPremultipliedATextureWithImage: function (a, b, c) {
- var d = cc.Texture2D,
- e = a.getData(),
- f = null,
- f = null,
- g = a.hasAlpha(),
- h = cc.size(a.getWidth(), a.getHeight()),
- k = d.defaultPixelFormat,
- m = a.getBitsPerComponent();
- g || (8 <= m ? k = d.PIXEL_FORMAT_RGB888 : (cc.log(cc._LogInfos.Texture2D__initPremultipliedATextureWithImage), k = d.PIXEL_FORMAT_RGB565));
- var n = b * c;
- if (k == d.PIXEL_FORMAT_RGB565) if (g) for (e = new Uint16Array(b * c), f = a.getData(), m = 0; m < n; ++m) e[m] = (f[m] >> 0 & 255) >> 3 << 11 | (f[m] >> 8 & 255) >> 2 << 5 | (f[m] >> 16 & 255) >> 3 << 0;
- else for (e = new Uint16Array(b * c), f = a.getData(), m = 0; m < n; ++m) e[m] = (f[m] & 255) >> 3 << 11 | (f[m] & 255) >> 2 << 5 | (f[m] & 255) >> 3 << 0;
- else if (k == d.PIXEL_FORMAT_RGBA4444) for (e = new Uint16Array(b * c), f = a.getData(), m = 0; m < n; ++m) e[m] = (f[m] >> 0 & 255) >> 4 << 12 | (f[m] >> 8 & 255) >> 4 << 8 | (f[m] >> 16 & 255) >> 4 << 4 | (f[m] >> 24 & 255) >> 4 << 0;
- else if (k == d.PIXEL_FORMAT_RGB5A1) for (e = new Uint16Array(b * c), f = a.getData(), m = 0; m < n; ++m) e[m] = (f[m] >> 0 & 255) >> 3 << 11 | (f[m] >> 8 & 255) >> 3 << 6 | (f[m] >> 16 & 255) >> 3 << 1 | (f[m] >> 24 & 255) >> 7 << 0;
- else if (k == d.PIXEL_FORMAT_A8) for (e = new Uint8Array(b * c), f = a.getData(), m = 0; m < n; ++m) e[m] = f >> 24 & 255;
- if (g && k == d.PIXEL_FORMAT_RGB888) for (f = a.getData(), e = new Uint8Array(b * c * 3), m = 0; m < n; ++m) e[3 * m] = f >> 0 & 255,
- e[3 * m + 1] = f >> 8 & 255,
- e[3 * m + 2] = f >> 16 & 255;
- this.initWithData(e, k, b, c, h);
- a.getData();
- this._hasPremultipliedAlpha = a.isPremultipliedAlpha();
- return !0
- },
- addLoadedEventListener: function (a, b) {
- this._loadedEventListeners || (this._loadedEventListeners = []);
- this._loadedEventListeners.push({
- eventCallback: a,
- eventTarget: b
- })
- },
- removeLoadedEventListener: function (a) {
- if (this._loadedEventListeners) for (var b = this._loadedEventListeners, c = 0; c < b.length; c++) b[c].eventTarget == a && b.splice(c, 1)
- },
- _callLoadedEventCallbacks: function () {
- if (this._loadedEventListeners) {
- for (var a = this._loadedEventListeners, b = 0, c = a.length; b < c; b++) {
- var d = a[b];
- d.eventCallback.call(d.eventTarget, this)
- }
- a.length = 0
- }
- }
- })
- };
- cc._tmp.WebGLTextureAtlas = function () {
- var a = cc.TextureAtlas.prototype;
- a._setupVBO = function () {
- var a = cc._renderContext;
- this._buffersVBO[0] = a.createBuffer();
- this._buffersVBO[1] = a.createBuffer();
- this._quadsWebBuffer = a.createBuffer();
- this._mapBuffers()
- };
- a._mapBuffers = function () {
- var a = cc._renderContext;
- a.bindBuffer(a.ARRAY_BUFFER, this._quadsWebBuffer);
- a.bufferData(a.ARRAY_BUFFER, this._quadsArrayBuffer, a.DYNAMIC_DRAW);
- a.bindBuffer(a.ELEMENT_ARRAY_BUFFER, this._buffersVBO[1]);
- a.bufferData(a.ELEMENT_ARRAY_BUFFER, this._indices, a.STATIC_DRAW)
- };
- a.drawNumberOfQuads = function (a, c) {
- c = c || 0;
- if (0 !== a && this.texture && this.texture.isLoaded()) {
- var d = cc._renderContext;
- cc.glBindTexture2D(this.texture);
- cc.glEnableVertexAttribs(cc.VERTEX_ATTRIB_FLAG_POS_COLOR_TEX);
- d.bindBuffer(d.ARRAY_BUFFER, this._quadsWebBuffer);
- this.dirty && d.bufferData(d.ARRAY_BUFFER, this._quadsArrayBuffer, d.DYNAMIC_DRAW);
- d.vertexAttribPointer(cc.VERTEX_ATTRIB_POSITION, 3, d.FLOAT, !1, 24, 0);
- d.vertexAttribPointer(cc.VERTEX_ATTRIB_COLOR, 4, d.UNSIGNED_BYTE, !0, 24, 12);
- d.vertexAttribPointer(cc.VERTEX_ATTRIB_TEX_COORDS, 2, d.FLOAT, !1, 24, 16);
- this.dirty && (this.dirty = !1);
- d.bindBuffer(d.ELEMENT_ARRAY_BUFFER, this._buffersVBO[1]);
- cc.TEXTURE_ATLAS_USE_TRIANGLE_STRIP ? d.drawElements(d.TRIANGLE_STRIP, 6 * a, d.UNSIGNED_SHORT, 6 * c * this._indices.BYTES_PER_ELEMENT) : d.drawElements(d.TRIANGLES, 6 * a, d.UNSIGNED_SHORT, 6 * c * this._indices.BYTES_PER_ELEMENT);
- cc.g_NumberOfDraws++
- }
- }
- };
- cc._tmp.WebGLTextureCache = function () {
- var a = cc.textureCache;
- a.handleLoadedTexture = function (a) {
- var c = this._textures;
- cc._rendererInitialized || (c = this._loadedTexturesBefore);
- var d = c[a];
- d || (d = c[a] = new cc.Texture2D, d.url = a);
- d.handleLoadedTexture()
- };
- a.addImage = function (a, c, d) {
- cc.assert(a, cc._LogInfos.Texture2D_addImage_2);
- var e = this._textures;
- cc._rendererInitialized || (e = this._loadedTexturesBefore);
- var f = e[a] || e[cc.loader._aliases[a]];
- if (f) return c && c.call(d, f),
- f;
- cc.loader.getRes(a) || (cc.loader._checkIsImageURL(a) ? cc.loader.load(a,
- function (a) {
- c && c.call(d)
- }) : cc.loader.loadImg(a,
- function (e, h) {
- if (e) return c ? c(e) : e;
- cc.loader.cache[a] = h;
- cc.textureCache.handleLoadedTexture(a);
- c && c.call(d, f)
- }));
- f = e[a] = new cc.Texture2D;
- f.url = a;
- return f
- };
- delete a
- };
- cc._tmp.PrototypeTexture2D = function () {
- var a = cc.Texture2D;
- a.PVRImagesHavePremultipliedAlpha = function (a) {
- cc.PVRHaveAlphaPremultiplied_ = a
- };
- a.PIXEL_FORMAT_RGBA8888 = 2;
- a.PIXEL_FORMAT_RGB888 = 3;
- a.PIXEL_FORMAT_RGB565 = 4;
- a.PIXEL_FORMAT_A8 = 5;
- a.PIXEL_FORMAT_I8 = 6;
- a.PIXEL_FORMAT_AI88 = 7;
- a.PIXEL_FORMAT_RGBA4444 = 8;
- a.PIXEL_FORMAT_RGB5A1 = 7;
- a.PIXEL_FORMAT_PVRTC4 = 9;
- a.PIXEL_FORMAT_PVRTC2 = 10;
- a.PIXEL_FORMAT_DEFAULT = a.PIXEL_FORMAT_RGBA8888;
- var b = cc.Texture2D._M = {};
- b[a.PIXEL_FORMAT_RGBA8888] = "RGBA8888";
- b[a.PIXEL_FORMAT_RGB888] = "RGB888";
- b[a.PIXEL_FORMAT_RGB565] = "RGB565";
- b[a.PIXEL_FORMAT_A8] = "A8";
- b[a.PIXEL_FORMAT_I8] = "I8";
- b[a.PIXEL_FORMAT_AI88] = "AI88";
- b[a.PIXEL_FORMAT_RGBA4444] = "RGBA4444";
- b[a.PIXEL_FORMAT_RGB5A1] = "RGB5A1";
- b[a.PIXEL_FORMAT_PVRTC4] = "PVRTC4";
- b[a.PIXEL_FORMAT_PVRTC2] = "PVRTC2";
- b = cc.Texture2D._B = {};
- b[a.PIXEL_FORMAT_RGBA8888] = 32;
- b[a.PIXEL_FORMAT_RGB888] = 24;
- b[a.PIXEL_FORMAT_RGB565] = 16;
- b[a.PIXEL_FORMAT_A8] = 8;
- b[a.PIXEL_FORMAT_I8] = 8;
- b[a.PIXEL_FORMAT_AI88] = 16;
- b[a.PIXEL_FORMAT_RGBA4444] = 16;
- b[a.PIXEL_FORMAT_RGB5A1] = 16;
- b[a.PIXEL_FORMAT_PVRTC4] = 4;
- b[a.PIXEL_FORMAT_PVRTC2] = 3;
- b = cc.Texture2D.prototype;
- cc.defineGetterSetter(b, "name", b.getName);
- cc.defineGetterSetter(b, "pixelFormat", b.getPixelFormat);
- cc.defineGetterSetter(b, "pixelsWidth", b.getPixelsWide);
- cc.defineGetterSetter(b, "pixelsHeight", b.getPixelsHigh);
- cc.defineGetterSetter(b, "width", b._getWidth);
- cc.defineGetterSetter(b, "height", b._getHeight);
- a.defaultPixelFormat = a.PIXEL_FORMAT_DEFAULT
- };
- cc._tmp.PrototypeTextureAtlas = function () {
- var a = cc.TextureAtlas.prototype;
- cc.defineGetterSetter(a, "totalQuads", a.getTotalQuads);
- cc.defineGetterSetter(a, "capacity", a.getCapacity);
- cc.defineGetterSetter(a, "quads", a.getQuads, a.setQuads)
- };
- cc.ALIGN_CENTER = 51;
- cc.ALIGN_TOP = 19;
- cc.ALIGN_TOP_RIGHT = 18;
- cc.ALIGN_RIGHT = 50;
- cc.ALIGN_BOTTOM_RIGHT = 34;
- cc.ALIGN_BOTTOM = 35;
- cc.ALIGN_BOTTOM_LEFT = 33;
- cc.ALIGN_LEFT = 49;
- cc.ALIGN_TOP_LEFT = 17;
- cc.PVRHaveAlphaPremultiplied_ = !1;
- cc._renderType === cc._RENDER_TYPE_CANVAS ? cc.Texture2D = cc.Class.extend({
- _contentSize: null,
- _isLoaded: !1,
- _htmlElementObj: null,
- _loadedEventListeners: null,
- url: null,
- ctor: function () {
- this._contentSize = cc.size(0, 0);
- this._isLoaded = !1;
- this._htmlElementObj = null
- },
- getPixelsWide: function () {
- return this._contentSize.width
- },
- getPixelsHigh: function () {
- return this._contentSize.height
- },
- getContentSize: function () {
- var a = cc.contentScaleFactor();
- return cc.size(this._contentSize.width / a, this._contentSize.height / a)
- },
- _getWidth: function () {
- return this._contentSize.width / cc.contentScaleFactor()
- },
- _getHeight: function () {
- return this._contentSize.height / cc.contentScaleFactor()
- },
- getContentSizeInPixels: function () {
- return this._contentSize
- },
- initWithElement: function (a) {
- a && (this._htmlElementObj = a)
- },
- getHtmlElementObj: function () {
- return this._htmlElementObj
- },
- isLoaded: function () {
- return this._isLoaded
- },
- handleLoadedTexture: function () {
- if (!this._isLoaded) {
- if (!this._htmlElementObj) {
- var a = cc.loader.getRes(this.url);
- if (!a) return;
- this.initWithElement(a)
- }
- this._isLoaded = !0;
- a = this._htmlElementObj;
- this._contentSize.width = a.width;
- this._contentSize.height = a.height;
- this._callLoadedEventCallbacks()
- }
- },
- description: function () {
- return "\x3ccc.Texture2D | width \x3d " + this._contentSize.width + " height " + this._contentSize.height + "\x3e"
- },
- initWithData: function (a, b, c, d, e) {
- return !1
- },
- initWithImage: function (a) {
- return !1
- },
- initWithString: function (a, b, c, d, e, f) {
- return !1
- },
- releaseTexture: function () { },
- getName: function () {
- return null
- },
- getMaxS: function () {
- return 1
- },
- setMaxS: function (a) { },
- getMaxT: function () {
- return 1
- },
- setMaxT: function (a) { },
- getPixelFormat: function () {
- return null
- },
- getShaderProgram: function () {
- return null
- },
- setShaderProgram: function (a) { },
- hasPremultipliedAlpha: function () {
- return !1
- },
- hasMipmaps: function () {
- return !1
- },
- releaseData: function (a) { },
- keepData: function (a, b) {
- return a
- },
- drawAtPoint: function (a) { },
- drawInRect: function (a) { },
- initWithETCFile: function (a) {
- cc.log(cc._LogInfos.Texture2D_initWithETCFile);
- return !1
- },
- initWithPVRFile: function (a) {
- cc.log(cc._LogInfos.Texture2D_initWithPVRFile);
- return !1
- },
- initWithPVRTCData: function (a, b, c, d, e, f) {
- cc.log(cc._LogInfos.Texture2D_initWithPVRTCData);
- return !1
- },
- setTexParameters: function (a) { },
- setAntiAliasTexParameters: function () { },
- setAliasTexParameters: function () { },
- generateMipmap: function () { },
- stringForFormat: function () {
- return ""
- },
- bitsPerPixelForFormat: function (a) {
- return -1
- },
- addLoadedEventListener: function (a, b) {
- this._loadedEventListeners || (this._loadedEventListeners = []);
- this._loadedEventListeners.push({
- eventCallback: a,
- eventTarget: b
- })
- },
- removeLoadedEventListener: function (a) {
- if (this._loadedEventListeners) for (var b = this._loadedEventListeners, c = 0; c < b.length; c++) b[c].eventTarget == a && b.splice(c, 1)
- },
- _callLoadedEventCallbacks: function () {
- if (this._loadedEventListeners) {
- for (var a = this._loadedEventListeners, b = 0, c = a.length; b < c; b++) {
- var d = a[b];
- d.eventCallback.call(d.eventTarget, this)
- }
- a.length = 0
- }
- }
- }) : (cc.assert(cc.isFunction(cc._tmp.WebGLTexture2D), cc._LogInfos.MissingFile, "TexturesWebGL.js"), cc._tmp.WebGLTexture2D(), delete cc._tmp.WebGLTexture2D);
- cc.assert(cc.isFunction(cc._tmp.PrototypeTexture2D), cc._LogInfos.MissingFile, "TexturesPropertyDefine.js");
- cc._tmp.PrototypeTexture2D();
- delete cc._tmp.PrototypeTexture2D;
- cc.textureCache = {
- _textures: {},
- _textureColorsCache: {},
- _textureKeySeq: 0 | 1E3 * Math.random(),
- _loadedTexturesBefore: {},
- _initializingRenderer: function () {
- var a,
- b = this._loadedTexturesBefore,
- c = this._textures;
- for (a in b) {
- var d = b[a];
- d.handleLoadedTexture();
- c[a] = d
- }
- this._loadedTexturesBefore = {}
- },
- addPVRTCImage: function (a) {
- cc.log(cc._LogInfos.textureCache_addPVRTCImage)
- },
- addETCImage: function (a) {
- cc.log(cc._LogInfos.textureCache_addETCImage)
- },
- description: function () {
- return "\x3cTextureCache | Number of textures \x3d " +
- this._textures.length + "\x3e"
- },
- textureForKey: function (a) {
- cc.log(cc._LogInfos.textureCache_textureForKey);
- return this.getTextureForKey(a)
- },
- getTextureForKey: function (a) {
- return this._textures[a] || this._textures[cc.loader._aliases[a]]
- },
- getKeyByTexture: function (a) {
- for (var b in this._textures) if (this._textures[b] == a) return b;
- return null
- },
- _generalTextureKey: function () {
- this._textureKeySeq++;
- return "_textureKey_" + this._textureKeySeq
- },
- getTextureColors: function (a) {
- var b = this.getKeyByTexture(a);
- b || (b = a instanceof
- HTMLImageElement ? a.src : this._generalTextureKey());
- this._textureColorsCache[b] || (this._textureColorsCache[b] = cc.generateTextureCacheForColor(a));
- return this._textureColorsCache[b]
- },
- addPVRImage: function (a) {
- cc.log(cc._LogInfos.textureCache_addPVRImage)
- },
- removeAllTextures: function () {
- var a = this._textures,
- b;
- for (b in a) a[b] && a[b].releaseTexture();
- this._textures = {}
- },
- removeTexture: function (a) {
- if (a) {
- var b = this._textures,
- c;
- for (c in b) b[c] == a && (b[c].releaseTexture(), delete b[c])
- }
- },
- removeTextureForKey: function (a) {
- null != a && this._textures[a] && delete this._textures[a]
- },
- cacheImage: function (a, b) {
- if (b instanceof cc.Texture2D) this._textures[a] = b;
- else {
- var c = new cc.Texture2D;
- c.initWithElement(b);
- c.handleLoadedTexture();
- this._textures[a] = c
- }
- },
- addUIImage: function (a, b) {
- cc.assert(a, cc._LogInfos.textureCache_addUIImage_2);
- if (b && this._textures[b]) return this._textures[b];
- var c = new cc.Texture2D;
- c.initWithImage(a);
- null != b && null != c ? this._textures[b] = c : cc.log(cc._LogInfos.textureCache_addUIImage);
- return c
- },
- dumpCachedTextureInfo: function () {
- var a = 0,
- b = 0,
- c = this._textures,
- d;
- for (d in c) {
- var e = c[d];
- a++;
- e.getHtmlElementObj() instanceof HTMLImageElement ? cc.log(cc._LogInfos.textureCache_dumpCachedTextureInfo, d, e.getHtmlElementObj().src, e.pixelsWidth, e.pixelsHeight) : cc.log(cc._LogInfos.textureCache_dumpCachedTextureInfo_2, d, e.pixelsWidth, e.pixelsHeight);
- b += e.pixelsWidth * e.pixelsHeight * 4
- }
- c = this._textureColorsCache;
- for (d in c) {
- var e = c[d],
- f;
- for (f in e) {
- var g = e[f];
- a++;
- cc.log(cc._LogInfos.textureCache_dumpCachedTextureInfo_2, d, g.width, g.height);
- b += g.width * g.height * 4
- }
- }
- cc.log(cc._LogInfos.textureCache_dumpCachedTextureInfo_3, a, b / 1024, (b / 1048576).toFixed(2))
- },
- _clear: function () {
- this._textures = {};
- this._textureColorsCache = {};
- this._textureKeySeq = 0 | 1E3 * Math.random();
- this._loadedTexturesBefore = {}
- }
- };
- cc._renderType === cc._RENDER_TYPE_CANVAS ? (_p = cc.textureCache, _p.handleLoadedTexture = function (a) {
- var b = this._textures,
- c = b[a];
- c || (c = b[a] = new cc.Texture2D, c.url = a);
- c.handleLoadedTexture()
- },
- _p.addImage = function (a, b, c) {
- cc.assert(a, cc._LogInfos.Texture2D_addImage);
- var d = this._textures,
- e = d[a] || d[cc.loader._aliases[a]];
- if (e) return b && b.call(c, e),
- e;
- e = d[a] = new cc.Texture2D;
- e.url = a;
- cc.loader.getRes(a) ? e.handleLoadedTexture() : cc.loader._checkIsImageURL(a) ? cc.loader.load(a,
- function (a) {
- b && b.call(c)
- }) : cc.loader.loadImg(a,
- function (d, g) {
- if (d) return b ? b(d) : d;
- cc.loader.cache[a] = g;
- cc.textureCache.handleLoadedTexture(a);
- b && b.call(c, e)
- });
- return e
- },
- _p = null) : (cc.assert(cc.isFunction(cc._tmp.WebGLTextureCache), cc._LogInfos.MissingFile, "TexturesWebGL.js"), cc._tmp.WebGLTextureCache(), delete cc._tmp.WebGLTextureCache);
- cc.TextureAtlas = cc.Class.extend({
- dirty: !1,
- texture: null,
- _indices: null,
- _buffersVBO: null,
- _capacity: 0,
- _quads: null,
- _quadsArrayBuffer: null,
- _quadsWebBuffer: null,
- _quadsReader: null,
- ctor: function (a, b) {
- this._buffersVBO = [];
- cc.isString(a) ? this.initWithFile(a, b) : a instanceof cc.Texture2D && this.initWithTexture(a, b)
- },
- getTotalQuads: function () {
- return this._totalQuads
- },
- getCapacity: function () {
- return this._capacity
- },
- getTexture: function () {
- return this.texture
- },
- setTexture: function (a) {
- this.texture = a
- },
- setDirty: function (a) {
- this.dirty = a
- },
- isDirty: function () {
- return this.dirty
- },
- getQuads: function () {
- return this._quads
- },
- setQuads: function (a) {
- this._quads = a
- },
- _copyQuadsToTextureAtlas: function (a, b) {
- if (a) for (var c = 0; c < a.length; c++) this._setQuadToArray(a[c], b + c)
- },
- _setQuadToArray: function (a, b) {
- var c = this._quads;
- c[b] ? (c[b].bl = a.bl, c[b].br = a.br, c[b].tl = a.tl, c[b].tr = a.tr) : c[b] = new cc.V3F_C4B_T2F_Quad(a.tl, a.bl, a.tr, a.br, this._quadsArrayBuffer, b * cc.V3F_C4B_T2F_Quad.BYTES_PER_ELEMENT)
- },
- description: function () {
- return "\x3ccc.TextureAtlas | totalQuads \x3d" +
- this._totalQuads + "\x3e"
- },
- _setupIndices: function () {
- if (0 !== this._capacity) for (var a = this._indices, b = this._capacity, c = 0; c < b; c++) cc.TEXTURE_ATLAS_USE_TRIANGLE_STRIP ? (a[6 * c + 0] = 4 * c + 0, a[6 * c + 1] = 4 * c + 0, a[6 * c + 2] = 4 * c + 2, a[6 * c + 3] = 4 * c + 1, a[6 * c + 4] = 4 * c + 3, a[6 * c + 5] = 4 * c + 3) : (a[6 * c + 0] = 4 * c + 0, a[6 * c + 1] = 4 * c + 1, a[6 * c + 2] = 4 * c + 2, a[6 * c + 3] = 4 * c + 3, a[6 * c + 4] = 4 * c + 2, a[6 * c + 5] = 4 * c + 1)
- },
- _setupVBO: function () {
- var a = cc._renderContext;
- this._buffersVBO[0] = a.createBuffer();
- this._buffersVBO[1] = a.createBuffer();
- this._quadsWebBuffer = a.createBuffer();
- this._mapBuffers()
- },
- _mapBuffers: function () {
- var a = cc._renderContext;
- a.bindBuffer(a.ARRAY_BUFFER, this._quadsWebBuffer);
- a.bufferData(a.ARRAY_BUFFER, this._quadsArrayBuffer, a.DYNAMIC_DRAW);
- a.bindBuffer(a.ELEMENT_ARRAY_BUFFER, this._buffersVBO[1]);
- a.bufferData(a.ELEMENT_ARRAY_BUFFER, this._indices, a.STATIC_DRAW)
- },
- initWithFile: function (a, b) {
- var c = cc.textureCache.addImage(a);
- if (c) return this.initWithTexture(c, b);
- cc.log(cc._LogInfos.TextureAtlas_initWithFile, a);
- return !1
- },
- initWithTexture: function (a, b) {
- cc.assert(a, cc._LogInfos.TextureAtlas_initWithTexture);
- this._capacity = b |= 0;
- this._totalQuads = 0;
- this.texture = a;
- this._quads = [];
- this._indices = new Uint16Array(6 * b);
- var c = cc.V3F_C4B_T2F_Quad.BYTES_PER_ELEMENT;
- this._quadsArrayBuffer = new ArrayBuffer(c * b);
- this._quadsReader = new Uint8Array(this._quadsArrayBuffer);
- if ((!this._quads || !this._indices) && 0 < b) return !1;
- for (var d = this._quads, e = 0; e < b; e++) d[e] = new cc.V3F_C4B_T2F_Quad(null, null, null, null, this._quadsArrayBuffer, e * c);
- this._setupIndices();
- this._setupVBO();
- return this.dirty = !0
- },
- updateQuad: function (a, b) {
- cc.assert(a, cc._LogInfos.TextureAtlas_updateQuad);
- cc.assert(0 <= b && b < this._capacity, cc._LogInfos.TextureAtlas_updateQuad_2);
- this._totalQuads = Math.max(b + 1, this._totalQuads);
- this._setQuadToArray(a, b);
- this.dirty = !0
- },
- insertQuad: function (a, b) {
- cc.assert(b < this._capacity, cc._LogInfos.TextureAtlas_insertQuad_2);
- this._totalQuads++;
- if (this._totalQuads > this._capacity) cc.log(cc._LogInfos.TextureAtlas_insertQuad);
- else {
- var c = cc.V3F_C4B_T2F_Quad.BYTES_PER_ELEMENT,
- d = b * c,
- e = (this._totalQuads -
- 1 - b) * c;
- this._quads[this._totalQuads - 1] = new cc.V3F_C4B_T2F_Quad(null, null, null, null, this._quadsArrayBuffer, (this._totalQuads - 1) * c);
- this._quadsReader.set(this._quadsReader.subarray(d, d + e), d + c);
- this._setQuadToArray(a, b);
- this.dirty = !0
- }
- },
- insertQuads: function (a, b, c) {
- c = c || a.length;
- cc.assert(b + c <= this._capacity, cc._LogInfos.TextureAtlas_insertQuads);
- var d = cc.V3F_C4B_T2F_Quad.BYTES_PER_ELEMENT;
- this._totalQuads += c;
- if (this._totalQuads > this._capacity) cc.log(cc._LogInfos.TextureAtlas_insertQuad);
- else {
- var e = b * d,
- f = (this._totalQuads - 1 - b - c) * d,
- g = this._totalQuads - 1 - c,
- h;
- for (h = 0; h < c; h++) this._quads[g + h] = new cc.V3F_C4B_T2F_Quad(null, null, null, null, this._quadsArrayBuffer, (this._totalQuads - 1) * d);
- this._quadsReader.set(this._quadsReader.subarray(e, e + f), e + d * c);
- for (h = 0; h < c; h++) this._setQuadToArray(a[h], b + h);
- this.dirty = !0
- }
- },
- insertQuadFromIndex: function (a, b) {
- if (a !== b) {
- cc.assert(0 <= b || b < this._totalQuads, cc._LogInfos.TextureAtlas_insertQuadFromIndex);
- cc.assert(0 <= a || a < this._totalQuads, cc._LogInfos.TextureAtlas_insertQuadFromIndex_2);
- var c = cc.V3F_C4B_T2F_Quad.BYTES_PER_ELEMENT,
- d = this._quadsReader,
- e = d.subarray(a * c, c),
- f;
- a > b ? (f = b * c, d.set(d.subarray(f, f + (a - b) * c), f + c), d.set(e, f)) : (f = (a + 1) * c, d.set(d.subarray(f, f + (b - a) * c), f - c), d.set(e, b * c));
- this.dirty = !0
- }
- },
- removeQuadAtIndex: function (a) {
- cc.assert(a < this._totalQuads, cc._LogInfos.TextureAtlas_removeQuadAtIndex);
- var b = cc.V3F_C4B_T2F_Quad.BYTES_PER_ELEMENT;
- this._totalQuads--;
- this._quads.length = this._totalQuads;
- if (a !== this._totalQuads) {
- var c = (a + 1) * b;
- this._quadsReader.set(this._quadsReader.subarray(c, c + (this._totalQuads - a) * b), c - b)
- }
- this.dirty = !0
- },
- removeQuadsAtIndex: function (a, b) {
- cc.assert(a + b <= this._totalQuads, cc._LogInfos.TextureAtlas_removeQuadsAtIndex);
- this._totalQuads -= b;
- if (a !== this._totalQuads) {
- var c = cc.V3F_C4B_T2F_Quad.BYTES_PER_ELEMENT,
- d = (a + b) * c,
- e = a * c;
- this._quadsReader.set(this._quadsReader.subarray(d, d + (this._totalQuads - a) * c), e)
- }
- this.dirty = !0
- },
- removeAllQuads: function () {
- this._totalQuads = this._quads.length = 0
- },
- _setDirty: function (a) {
- this.dirty = a
- },
- resizeCapacity: function (a) {
- if (a == this._capacity) return !0;
- var b = cc.V3F_C4B_T2F_Quad.BYTES_PER_ELEMENT,
- c = this._capacity;
- this._totalQuads = Math.min(this._totalQuads, a);
- var d = this._capacity = 0 | a,
- e = this._totalQuads;
- if (null == this._quads) for (this._quads = [], this._quadsArrayBuffer = new ArrayBuffer(b * d), this._quadsReader = new Uint8Array(this._quadsArrayBuffer), a = 0; a < d; a++) this._quads = new cc.V3F_C4B_T2F_Quad(null, null, null, null, this._quadsArrayBuffer, a * b);
- else {
- var f,
- g,
- h = this._quads;
- if (d > c) {
- f = [];
- g = new ArrayBuffer(b * d);
- for (a = 0; a < e; a++) f[a] = new cc.V3F_C4B_T2F_Quad(h[a].tl, h[a].bl, h[a].tr, h[a].br, g, a * b);
- for (; a < d; a++) f[a] = new cc.V3F_C4B_T2F_Quad(null, null, null, null, g, a * b)
- } else for (e = Math.max(e, d), f = [], g = new ArrayBuffer(b * d), a = 0; a < e; a++) f[a] = new cc.V3F_C4B_T2F_Quad(h[a].tl, h[a].bl, h[a].tr, h[a].br, g, a * b);
- this._quadsReader = new Uint8Array(g);
- this._quads = f;
- this._quadsArrayBuffer = g
- }
- null == this._indices ? this._indices = new Uint16Array(6 * d) : d > c ? (b = new Uint16Array(6 * d), b.set(this._indices, 0), this._indices = b) : this._indices = this._indices.subarray(0, 6 * d);
- this._setupIndices();
- this._mapBuffers();
- return this.dirty = !0
- },
- increaseTotalQuadsWith: function (a) {
- this._totalQuads += a
- },
- moveQuadsFromIndex: function (a, b, c) {
- if (void 0 === c) {
- if (c = b, b = this._totalQuads - a, cc.assert(c + (this._totalQuads - a) <= this._capacity, cc._LogInfos.TextureAtlas_moveQuadsFromIndex), 0 === b) return
- } else if (cc.assert(c + b <= this._totalQuads, cc._LogInfos.TextureAtlas_moveQuadsFromIndex_2), cc.assert(a < this._totalQuads, cc._LogInfos.TextureAtlas_moveQuadsFromIndex_3), a == c) return;
- var d = cc.V3F_C4B_T2F_Quad.BYTES_PER_ELEMENT,
- e = a * d,
- f = b * d,
- g = this._quadsReader,
- h = g.subarray(e, e + f),
- k = c * d;
- c < a ? (b = c * d, g.set(g.subarray(b, b + (a - c) * d), b + f)) : (b = (a + b) * d, g.set(g.subarray(b, b + (c - a) * d), e));
- g.set(h, k);
- this.dirty = !0
- },
- fillWithEmptyQuadsFromIndex: function (a, b) {
- for (var c = b * cc.V3F_C4B_T2F_Quad.BYTES_PER_ELEMENT, d = new Uint8Array(this._quadsArrayBuffer, a * cc.V3F_C4B_T2F_Quad.BYTES_PER_ELEMENT, c), e = 0; e < c; e++) d[e] = 0
- },
- drawQuads: function () {
- this.drawNumberOfQuads(this._totalQuads, 0)
- },
- _releaseBuffer: function () {
- var a = cc._renderContext;
- this._buffersVBO && (this._buffersVBO[0] && a.deleteBuffer(this._buffersVBO[0]), this._buffersVBO[1] && a.deleteBuffer(this._buffersVBO[1]));
- this._quadsWebBuffer && a.deleteBuffer(this._quadsWebBuffer)
- }
- });
- _p = cc.TextureAtlas.prototype;
- cc.defineGetterSetter(_p, "totalQuads", _p.getTotalQuads);
- cc.defineGetterSetter(_p, "capacity", _p.getCapacity);
- cc.defineGetterSetter(_p, "quads", _p.getQuads, _p.setQuads);
- cc.TextureAtlas.create = function (a, b) {
- return new cc.TextureAtlas(a, b)
- };
- cc.TextureAtlas.createWithTexture = cc.TextureAtlas.create;
- cc._renderType === cc._RENDER_TYPE_WEBGL && (cc.assert(cc.isFunction(cc._tmp.WebGLTextureAtlas), cc._LogInfos.MissingFile, "TexturesWebGL.js"), cc._tmp.WebGLTextureAtlas(), delete cc._tmp.WebGLTextureAtlas);
- cc.assert(cc.isFunction(cc._tmp.PrototypeTextureAtlas), cc._LogInfos.MissingFile, "TexturesPropertyDefine.js");
- cc._tmp.PrototypeTextureAtlas();
- delete cc._tmp.PrototypeTextureAtlas;
- cc.Scene = cc.Node.extend({
- _className: "Scene",
- ctor: function () {
- cc.Node.prototype.ctor.call(this);
- this._ignoreAnchorPointForPosition = !0;
- this.setAnchorPoint(0.5, 0.5);
- this.setContentSize(cc.director.getWinSize())
- }
- });
- cc.Scene.create = function () {
- return new cc.Scene
- };
- cc.LoaderScene = cc.Scene.extend({
- _interval: null,
- _label: null,
- _className: "LoaderScene",
- init: function () {
- var a = this,
- b = 200,
- c = a._bgLayer = new cc.LayerColor(cc.color(32, 32, 32, 255));
- c.setPosition(cc.visibleRect.bottomLeft);
- a.addChild(c, 0);
- var d = 24,
- e = -b / 2 + 100;
- cc._loaderImage && (cc.loader.loadImg(cc._loaderImage, {
- isCrossOrigin: !1
- },
- function (c, d) {
- b = d.height;
- a._initStage(d, cc.visibleRect.center)
- }), d = 14, e = -b / 2 - 10);
- d = a._label = cc.LabelTTF.create("Loading... 0%", "Arial", d);
- d.setPosition(cc.pAdd(cc.visibleRect.center, cc.p(0, e)));
- d.setColor(cc.color(180, 180, 180));
- c.addChild(this._label, 10);
- return !0
- },
- _initStage: function (a, b) {
- var c = this._texture2d = new cc.Texture2D;
- c.initWithElement(a);
- c.handleLoadedTexture();
- c = this._logo = cc.Sprite.create(c);
- c.setScale(cc.contentScaleFactor());
- c.x = b.x;
- c.y = b.y;
- this._bgLayer.addChild(c, 10)
- },
- onEnter: function () {
- cc.Node.prototype.onEnter.call(this);
- this.schedule(this._startLoading, 0.3)
- },
- onExit: function () {
- cc.Node.prototype.onExit.call(this);
- this._label.setString("Loading... 0%")
- },
- initWithResources: function (a, b) {
- cc.isString(a) && (a = [a]);
- this.resources = a || [];
- this.cb = b
- },
- _startLoading: function () {
- var a = this;
- a.unschedule(a._startLoading);
- cc.loader.load(a.resources,
- function (b, c, d) {
- b = Math.min(d / c * 100 | 0, 100);
- a._label.setString("Loading... " + b + "%")
- },
- function () {
- a.cb && a.cb()
- })
- }
- });
- cc.LoaderScene.preload = function (a, b) {
- var c = cc;
- c.loaderScene || (c.loaderScene = new cc.LoaderScene, c.loaderScene.init());
- c.loaderScene.initWithResources(a, b);
- cc.director.runScene(c.loaderScene);
- return c.loaderScene
- };
- cc._tmp.LayerDefineForWebGL = function () {
- var a = cc.Layer.prototype;
- a.bake = function () { };
- a.unbake = function () { };
- a.visit = cc.Node.prototype.visit
- };
- cc._tmp.WebGLLayerColor = function () {
- var a = cc.LayerColor.prototype;
- a._squareVertices = null;
- a._squareColors = null;
- a._verticesFloat32Buffer = null;
- a._colorsUint8Buffer = null;
- a._squareVerticesAB = null;
- a._squareColorsAB = null;
- a.ctor = function (a, c, d) {
- this._squareVerticesAB = new ArrayBuffer(32);
- this._squareColorsAB = new ArrayBuffer(16);
- var e = this._squareVerticesAB,
- f = this._squareColorsAB,
- g = cc.Vertex2F.BYTES_PER_ELEMENT,
- h = cc.Color.BYTES_PER_ELEMENT;
- this._squareVertices = [new cc.Vertex2F(0, 0, e, 0), new cc.Vertex2F(0, 0, e, g), new cc.Vertex2F(0, 0, e, 2 * g), new cc.Vertex2F(0, 0, e, 3 * g)];
- this._squareColors = [cc.color(0, 0, 0, 255, f, 0), cc.color(0, 0, 0, 255, f, h), cc.color(0, 0, 0, 255, f, 2 * h), cc.color(0, 0, 0, 255, f, 3 * h)];
- this._verticesFloat32Buffer = cc._renderContext.createBuffer();
- this._colorsUint8Buffer = cc._renderContext.createBuffer();
- cc.Layer.prototype.ctor.call(this);
- this._blendFunc = new cc.BlendFunc(cc.BLEND_SRC, cc.BLEND_DST);
- cc.LayerColor.prototype.init.call(this, a, c, d)
- };
- a.setContentSize = function (a, c) {
- var d = this._squareVertices;
- void 0 === c ? (d[1].x = a.width, d[2].y = a.height, d[3].x = a.width, d[3].y = a.height) : (d[1].x = a, d[2].y = c, d[3].x = a, d[3].y = c);
- this._bindLayerVerticesBufferData();
- cc.Layer.prototype.setContentSize.call(this, a, c)
- };
- a._setWidth = function (a) {
- var c = this._squareVertices;
- c[1].x = a;
- c[3].x = a;
- this._bindLayerVerticesBufferData();
- cc.Layer.prototype._setWidth.call(this, a)
- };
- a._setHeight = function (a) {
- var c = this._squareVertices;
- c[2].y = a;
- c[3].y = a;
- this._bindLayerVerticesBufferData();
- cc.Layer.prototype._setHeight.call(this, a)
- };
- a._updateColor = function () {
- for (var a = this._displayedColor, c = this._displayedOpacity, d = this._squareColors, e = 0; 4 > e; e++) d[e].r = a.r,
- d[e].g = a.g,
- d[e].b = a.b,
- d[e].a = c;
- this._bindLayerColorsBufferData()
- };
- a.draw = function (a) {
- a = a || cc._renderContext;
- cc.nodeDrawSetup(this);
- cc.glEnableVertexAttribs(cc.VERTEX_ATTRIB_FLAG_POSITION | cc.VERTEX_ATTRIB_FLAG_COLOR);
- a.bindBuffer(a.ARRAY_BUFFER, this._verticesFloat32Buffer);
- a.vertexAttribPointer(cc.VERTEX_ATTRIB_POSITION, 2, a.FLOAT, !1, 0, 0);
- a.bindBuffer(a.ARRAY_BUFFER, this._colorsUint8Buffer);
- a.vertexAttribPointer(cc.VERTEX_ATTRIB_COLOR, 4, a.UNSIGNED_BYTE, !0, 0, 0);
- cc.glBlendFunc(this._blendFunc.src, this._blendFunc.dst);
- a.drawArrays(a.TRIANGLE_STRIP, 0, 4)
- };
- a._bindLayerVerticesBufferData = function () {
- var a = cc._renderContext;
- a.bindBuffer(a.ARRAY_BUFFER, this._verticesFloat32Buffer);
- a.bufferData(a.ARRAY_BUFFER, this._squareVerticesAB, a.STATIC_DRAW)
- };
- a._bindLayerColorsBufferData = function () {
- var a = cc._renderContext;
- a.bindBuffer(a.ARRAY_BUFFER, this._colorsUint8Buffer);
- a.bufferData(a.ARRAY_BUFFER, this._squareColorsAB, a.STATIC_DRAW)
- }
- };
- cc._tmp.WebGLLayerGradient = function () {
- var a = cc.LayerGradient.prototype;
- a.draw = cc.LayerColor.prototype.draw;
- a._updateColor = function () {
- var a = this._alongVector,
- c = cc.pLength(a);
- if (0 !== c) {
- var d = Math.sqrt(2),
- a = cc.p(a.x / c, a.y / c);
- this._compressedInterpolation && (c = 1 / (Math.abs(a.x) + Math.abs(a.y)), a = cc.pMult(a, c * d));
- var e = this._displayedOpacity / 255,
- c = this._displayedColor,
- f = this._endColor,
- c = {
- r: c.r,
- g: c.g,
- b: c.b,
- a: this._startOpacity * e
- },
- e = {
- r: f.r,
- g: f.g,
- b: f.b,
- a: this._endOpacity * e
- },
- g = this._squareColors,
- f = g[0],
- h = g[1],
- k = g[2],
- g = g[3];
- f.r = e.r + (d + a.x + a.y) / (2 * d) * (c.r - e.r);
- f.g = e.g + (d + a.x + a.y) / (2 * d) * (c.g - e.g);
- f.b = e.b + (d + a.x + a.y) / (2 * d) * (c.b - e.b);
- f.a = e.a + (d + a.x + a.y) / (2 * d) * (c.a - e.a);
- h.r = e.r + (d - a.x + a.y) / (2 * d) * (c.r - e.r);
- h.g = e.g + (d - a.x + a.y) / (2 * d) * (c.g - e.g);
- h.b = e.b + (d - a.x + a.y) / (2 * d) * (c.b - e.b);
- h.a = e.a + (d - a.x + a.y) / (2 * d) * (c.a - e.a);
- k.r = e.r + (d + a.x - a.y) / (2 * d) * (c.r - e.r);
- k.g = e.g + (d + a.x - a.y) / (2 * d) * (c.g - e.g);
- k.b = e.b + (d + a.x - a.y) / (2 * d) * (c.b - e.b);
- k.a = e.a + (d + a.x - a.y) / (2 * d) * (c.a - e.a);
- g.r = e.r + (d - a.x - a.y) / (2 * d) * (c.r - e.r);
- g.g = e.g + (d - a.x - a.y) / (2 * d) * (c.g - e.g);
- g.b = e.b + (d - a.x - a.y) / (2 * d) * (c.b - e.b);
- g.a = e.a + (d - a.x - a.y) / (2 * d) * (c.a - e.a);
- this._bindLayerColorsBufferData()
- }
- }
- };
- cc._tmp.PrototypeLayerColor = function () {
- var a = cc.LayerColor.prototype;
- cc.defineGetterSetter(a, "width", a._getWidth, a._setWidth);
- cc.defineGetterSetter(a, "height", a._getHeight, a._setHeight)
- };
- cc._tmp.PrototypeLayerGradient = function () {
- var a = cc.LayerGradient.prototype;
- cc.defineGetterSetter(a, "startColor", a.getStartColor, a.setStartColor);
- cc.defineGetterSetter(a, "endColor", a.getEndColor, a.setEndColor);
- cc.defineGetterSetter(a, "startOpacity", a.getStartOpacity, a.setStartOpacity);
- cc.defineGetterSetter(a, "endOpacity", a.getEndOpacity, a.setEndOpacity);
- cc.defineGetterSetter(a, "vector", a.getVector, a.setVector)
- };
- cc.Layer = cc.Node.extend({
- _isBaked: !1,
- _bakeSprite: null,
- _className: "Layer",
- ctor: function () {
- var a = cc.Node.prototype;
- a.ctor.call(this);
- this._ignoreAnchorPointForPosition = !0;
- a.setAnchorPoint.call(this, 0.5, 0.5);
- a.setContentSize.call(this, cc.winSize)
- },
- init: function () {
- this._ignoreAnchorPointForPosition = !0;
- this.setAnchorPoint(0.5, 0.5);
- this.setContentSize(cc.winSize);
- this.cascadeColor = this.cascadeOpacity = !1;
- return !0
- },
- bake: null,
- unbake: null,
- isBaked: function () {
- return this._isBaked
- },
- visit: null
- });
- cc.Layer.create = function () {
- return new cc.Layer
- };
- if (cc._renderType === cc._RENDER_TYPE_CANVAS) {
- var p = cc.Layer.prototype;
- p.bake = function () {
- if (!this._isBaked) {
- this._isBaked = this._cacheDirty = !0;
- this._cachedParent = this;
- for (var a = this._children, b = 0, c = a.length; b < c; b++) a[b]._setCachedParent(this);
- this._bakeSprite || (this._bakeSprite = new cc.BakeSprite)
- }
- };
- p.unbake = function () {
- if (this._isBaked) {
- this._isBaked = !1;
- this._cacheDirty = !0;
- this._cachedParent = null;
- for (var a = this._children, b = 0, c = a.length; b < c; b++) a[b]._setCachedParent(null)
- }
- };
- p.addChild = function (a, b, c) {
- cc.Node.prototype.addChild.call(this, a, b, c);
- a._parent == this && this._isBaked && a._setCachedParent(this)
- };
- p.visit = function (a) {
- if (this._isBaked) {
- a = a || cc._renderContext;
- var b,
- c = this._children,
- d = c.length;
- if (this._visible && 0 !== d) {
- var e = this._bakeSprite;
- a.save();
- this.transform(a);
- if (this._cacheDirty) {
- b = this._getBoundingBoxForBake();
- b.width |= 0;
- b.height |= 0;
- var f = e.getCacheContext();
- e.resetCanvasSize(b.width, b.height);
- f.translate(0 - b.x, b.height + b.y);
- var g = e.getAnchorPointInPoints();
- e.setPosition(g.x + b.x, g.y + b.y);
- this.sortAllChildren();
- cc.view._setScaleXYForRenderTexture();
- for (b = 0; b < d; b++) c[b].visit(f);
- cc.view._resetScale();
- this._cacheDirty = !1
- }
- e.visit(a);
- this.arrivalOrder = 0;
- a.restore()
- }
- } else cc.Node.prototype.visit.call(this, a)
- };
- p._getBoundingBoxForBake = function () {
- var a = null;
- if (!this._children || 0 === this._children.length) return cc.rect(0, 0, 10, 10);
- for (var b = this._children, c = 0; c < b.length; c++) {
- var d = b[c];
- d && d._visible && (a ? (d = d._getBoundingBoxToCurrentNode()) && (a = cc.rectUnion(a, d)) : a = d._getBoundingBoxToCurrentNode())
- }
- return a
- };
- p = null
- } else cc.assert(cc.isFunction(cc._tmp.LayerDefineForWebGL), cc._LogInfos.MissingFile, "CCLayerWebGL.js"),
- cc._tmp.LayerDefineForWebGL(),
- delete cc._tmp.LayerDefineForWebGL;
- cc.LayerColor = cc.Layer.extend({
- _blendFunc: null,
- _className: "LayerColor",
- getBlendFunc: function () {
- return this._blendFunc
- },
- changeWidthAndHeight: function (a, b) {
- this.width = a;
- this.height = b
- },
- changeWidth: function (a) {
- this.width = a
- },
- changeHeight: function (a) {
- this.height = a
- },
- setOpacityModifyRGB: function (a) { },
- isOpacityModifyRGB: function () {
- return !1
- },
- setColor: function (a) {
- cc.Layer.prototype.setColor.call(this, a);
- this._updateColor()
- },
- setOpacity: function (a) {
- cc.Layer.prototype.setOpacity.call(this, a);
- this._updateColor()
- },
- _blendFuncStr: "source",
- ctor: null,
- init: function (a, b, c) {
- cc._renderType !== cc._RENDER_TYPE_CANVAS && (this.shaderProgram = cc.shaderCache.programForKey(cc.SHADER_POSITION_COLOR));
- var d = cc.director.getWinSize();
- a = a || cc.color(0, 0, 0, 255);
- b = void 0 === b ? d.width : b;
- c = void 0 === c ? d.height : c;
- d = this._displayedColor;
- d.r = a.r;
- d.g = a.g;
- d.b = a.b;
- d = this._realColor;
- d.r = a.r;
- d.g = a.g;
- d.b = a.b;
- this._realOpacity = this._displayedOpacity = a.a;
- a = cc.LayerColor.prototype;
- a.setContentSize.call(this, b, c);
- a._updateColor.call(this);
- return !0
- },
- setBlendFunc: function (a, b) {
- var c = this._blendFunc;
- void 0 === b ? (c.src = a.src, c.dst = a.dst) : (c.src = a, c.dst = b);
- cc._renderType === cc._RENDER_TYPE_CANVAS && (this._blendFuncStr = cc._getCompositeOperationByBlendFunc(c))
- },
- _setWidth: null,
- _setHeight: null,
- _updateColor: null,
- updateDisplayedColor: function (a) {
- cc.Layer.prototype.updateDisplayedColor.call(this, a);
- this._updateColor()
- },
- updateDisplayedOpacity: function (a) {
- cc.Layer.prototype.updateDisplayedOpacity.call(this, a);
- this._updateColor()
- },
- draw: null
- });
- cc.LayerColor.create = function (a, b, c) {
- return new cc.LayerColor(a, b, c)
- };
- cc._renderType === cc._RENDER_TYPE_CANVAS ? (_p = cc.LayerColor.prototype, _p.ctor = function (a, b, c) {
- cc.Layer.prototype.ctor.call(this);
- this._blendFunc = new cc.BlendFunc(cc.BLEND_SRC, cc.BLEND_DST);
- cc.LayerColor.prototype.init.call(this, a, b, c)
- },
- _p._setWidth = cc.Layer.prototype._setWidth, _p._setHeight = cc.Layer.prototype._setHeight, _p._updateColor = function () { },
- _p.draw = function (a) {
- a = a || cc._renderContext;
- var b = cc.view,
- c = this._displayedColor;
- a.fillStyle = "rgba(" + (0 | c.r) + "," + (0 | c.g) + "," + (0 | c.b) + "," + this._displayedOpacity / 255 + ")";
- a.fillRect(0, 0, this.width * b.getScaleX(), -this.height * b.getScaleY());
- cc.g_NumberOfDraws++
- },
- _p.visit = function (a) {
- if (this._isBaked) {
- a = a || cc._renderContext;
- var b,
- c = this._children,
- d = c.length;
- if (this._visible) {
- var e = this._bakeSprite;
- a.save();
- this.transform(a);
- if (this._cacheDirty) {
- b = this._getBoundingBoxForBake();
- b.width |= 0;
- b.height |= 0;
- var f = e.getCacheContext();
- e.resetCanvasSize(b.width, b.height);
- var g = e.getAnchorPointInPoints(),
- h = this._position;
- if (this._ignoreAnchorPointForPosition) f.translate(0 -
- b.x + h.x, b.height + b.y - h.y),
- e.setPosition(g.x + b.x - h.x, g.y + b.y - h.y);
- else {
- var k = this.getAnchorPointInPoints(),
- m = h.x - k.x,
- h = h.y - k.y;
- f.translate(0 - b.x + m, b.height + b.y - h);
- e.setPosition(g.x + b.x - m, g.y + b.y - h)
- }
- cc.view._setScaleXYForRenderTexture();
- if (0 < d) {
- this.sortAllChildren();
- for (b = 0; b < d; b++) if (g = c[b], 0 > g._localZOrder) g.visit(f);
- else break;
- for (this.draw(f) ; b < d; b++) c[b].visit(f)
- } else this.draw(f);
- cc.view._resetScale();
- this._cacheDirty = !1
- }
- e.visit(a);
- this.arrivalOrder = 0;
- a.restore()
- }
- } else cc.Node.prototype.visit.call(this, a)
- },
- _p._getBoundingBoxForBake = function () {
- var a = cc.rect(0, 0, this._contentSize.width, this._contentSize.height),
- b = this.nodeToWorldTransform(),
- a = cc.rectApplyAffineTransform(a, this.nodeToWorldTransform());
- if (!this._children || 0 === this._children.length) return a;
- for (var c = this._children, d = 0; d < c.length; d++) {
- var e = c[d];
- e && e._visible && (e = e._getBoundingBoxToCurrentNode(b), a = cc.rectUnion(a, e))
- }
- return a
- },
- _p = null) : (cc.assert(cc.isFunction(cc._tmp.WebGLLayerColor), cc._LogInfos.MissingFile, "CCLayerWebGL.js"), cc._tmp.WebGLLayerColor(), delete cc._tmp.WebGLLayerColor);
- cc.assert(cc.isFunction(cc._tmp.PrototypeLayerColor), cc._LogInfos.MissingFile, "CCLayerPropertyDefine.js");
- cc._tmp.PrototypeLayerColor();
- delete cc._tmp.PrototypeLayerColor;
- cc.LayerGradient = cc.LayerColor.extend({
- _startColor: null,
- _endColor: null,
- _startOpacity: 255,
- _endOpacity: 255,
- _alongVector: null,
- _compressedInterpolation: !1,
- _gradientStartPoint: null,
- _gradientEndPoint: null,
- _className: "LayerGradient",
- ctor: function (a, b, c) {
- cc.LayerColor.prototype.ctor.call(this);
- this._startColor = cc.color(0, 0, 0, 255);
- this._endColor = cc.color(0, 0, 0, 255);
- this._alongVector = cc.p(0, -1);
- this._endOpacity = this._startOpacity = 255;
- this._gradientStartPoint = cc.p(0, 0);
- this._gradientEndPoint = cc.p(0, 0);
- cc.LayerGradient.prototype.init.call(this, a, b, c)
- },
- init: function (a, b, c) {
- a = a || cc.color(0, 0, 0, 255);
- b = b || cc.color(0, 0, 0, 255);
- c = c || cc.p(0, -1);
- var d = this._startColor,
- e = this._endColor;
- d.r = a.r;
- d.g = a.g;
- d.b = a.b;
- this._startOpacity = a.a;
- e.r = b.r;
- e.g = b.g;
- e.b = b.b;
- this._endOpacity = b.a;
- this._alongVector = c;
- this._compressedInterpolation = !0;
- this._gradientStartPoint = cc.p(0, 0);
- this._gradientEndPoint = cc.p(0, 0);
- cc.LayerColor.prototype.init.call(this, cc.color(a.r, a.g, a.b, 255));
- cc.LayerGradient.prototype._updateColor.call(this);
- return !0
- },
- setContentSize: function (a, b) {
- cc.LayerColor.prototype.setContentSize.call(this, a, b);
- this._updateColor()
- },
- _setWidth: function (a) {
- cc.LayerColor.prototype._setWidth.call(this, a);
- this._updateColor()
- },
- _setHeight: function (a) {
- cc.LayerColor.prototype._setHeight.call(this, a);
- this._updateColor()
- },
- getStartColor: function () {
- return this._realColor
- },
- setStartColor: function (a) {
- this.color = a
- },
- setEndColor: function (a) {
- this._endColor = a;
- this._updateColor()
- },
- getEndColor: function () {
- return this._endColor
- },
- setStartOpacity: function (a) {
- this._startOpacity = a;
- this._updateColor()
- },
- getStartOpacity: function () {
- return this._startOpacity
- },
- setEndOpacity: function (a) {
- this._endOpacity = a;
- this._updateColor()
- },
- getEndOpacity: function () {
- return this._endOpacity
- },
- setVector: function (a) {
- this._alongVector.x = a.x;
- this._alongVector.y = a.y;
- this._updateColor()
- },
- getVector: function () {
- return cc.p(this._alongVector.x, this._alongVector.y)
- },
- isCompressedInterpolation: function () {
- return this._compressedInterpolation
- },
- setCompressedInterpolation: function (a) {
- this._compressedInterpolation = a;
- this._updateColor()
- },
- _draw: null,
- _updateColor: null
- });
- cc.LayerGradient.create = function (a, b, c) {
- return new cc.LayerGradient(a, b, c)
- };
- cc._renderType === cc._RENDER_TYPE_CANVAS ? (_p = cc.LayerGradient.prototype, _p.draw = function (a) {
- a = a || cc._renderContext;
- "source" != this._blendFuncStr && (a.globalCompositeOperation = this._blendFuncStr);
- a.save();
- var b = this._displayedOpacity / 255,
- c = cc.view.getScaleX(),
- d = cc.view.getScaleY(),
- e = this.width * c,
- f = this.height * d,
- c = a.createLinearGradient(this._gradientStartPoint.x * c, this._gradientStartPoint.y * d, this._gradientEndPoint.x * c, this._gradientEndPoint.y * d),
- d = this._displayedColor,
- g = this._endColor;
- c.addColorStop(0, "rgba(" + Math.round(d.r) + "," + Math.round(d.g) + "," + Math.round(d.b) + "," + (this._startOpacity / 255 * b).toFixed(4) + ")");
- c.addColorStop(1, "rgba(" + Math.round(g.r) + "," + Math.round(g.g) + "," + Math.round(g.b) + "," + (this._endOpacity / 255 * b).toFixed(4) + ")");
- a.fillStyle = c;
- a.fillRect(0, 0, e, -f);
- 0 != this._rotation && a.rotate(this._rotationRadians);
- a.restore();
- cc.g_NumberOfDraws++
- },
- _p._updateColor = function () {
- var a = this._alongVector,
- b = 0.5 * this.width,
- c = 0.5 * this.height;
- this._gradientStartPoint.x = b * -a.x + b;
- this._gradientStartPoint.y = c * a.y - c;
- this._gradientEndPoint.x = b * a.x + b;
- this._gradientEndPoint.y = c * -a.y - c
- },
- _p = null) : (cc.assert(cc.isFunction(cc._tmp.WebGLLayerGradient), cc._LogInfos.MissingFile, "CCLayerWebGL.js"), cc._tmp.WebGLLayerGradient(), delete cc._tmp.WebGLLayerGradient);
- cc.assert(cc.isFunction(cc._tmp.PrototypeLayerGradient), cc._LogInfos.MissingFile, "CCLayerPropertyDefine.js");
- cc._tmp.PrototypeLayerGradient();
- delete cc._tmp.PrototypeLayerGradient;
- cc.LayerMultiplex = cc.Layer.extend({
- _enabledLayer: 0,
- _layers: null,
- _className: "LayerMultiplex",
- ctor: function (a) {
- cc.Layer.prototype.ctor.call(this);
- a instanceof Array ? cc.LayerMultiplex.prototype.initWithLayers.call(this, a) : cc.LayerMultiplex.prototype.initWithLayers.call(this, Array.prototype.slice.call(arguments))
- },
- initWithLayers: function (a) {
- 0 < a.length && null == a[a.length - 1] && cc.log(cc._LogInfos.LayerMultiplex_initWithLayers);
- this._layers = a;
- this._enabledLayer = 0;
- this.addChild(this._layers[this._enabledLayer]);
- return !0
- },
- switchTo: function (a) {
- a >= this._layers.length ? cc.log(cc._LogInfos.LayerMultiplex_switchTo) : (this.removeChild(this._layers[this._enabledLayer], !0), this._enabledLayer = a, this.addChild(this._layers[a]))
- },
- switchToAndReleaseMe: function (a) {
- a >= this._layers.length ? cc.log(cc._LogInfos.LayerMultiplex_switchToAndReleaseMe) : (this.removeChild(this._layers[this._enabledLayer], !0), this._layers[this._enabledLayer] = null, this._enabledLayer = a, this.addChild(this._layers[a]))
- },
- addLayer: function (a) {
- a ? this._layers.push(a) : cc.log(cc._LogInfos.LayerMultiplex_addLayer)
- }
- });
- cc.LayerMultiplex.create = function () {
- return new cc.LayerMultiplex(Array.prototype.slice.call(arguments))
- };
- cc._tmp.WebGLSprite = function () {
- var a = cc.Sprite.prototype;
- a._spriteFrameLoadedCallback = function (a) {
- this.setNodeDirty(!0);
- this.setTextureRect(a.getRect(), a.isRotated(), a.getOriginalSize());
- this._callLoadedEventCallbacks()
- };
- a.setOpacityModifyRGB = function (a) {
- this._opacityModifyRGB !== a && (this._opacityModifyRGB = a, this.updateColor())
- };
- a.updateDisplayedOpacity = function (a) {
- cc.Node.prototype.updateDisplayedOpacity.call(this, a);
- this.updateColor()
- };
- a.ctor = function (a, c, d) {
- cc.Node.prototype.ctor.call(this);
- this._shouldBeHidden = !1;
- this._offsetPosition = cc.p(0, 0);
- this._unflippedOffsetPositionFromCenter = cc.p(0, 0);
- this._blendFunc = {
- src: cc.BLEND_SRC,
- dst: cc.BLEND_DST
- };
- this._rect = cc.rect(0, 0, 0, 0);
- this._quad = new cc.V3F_C4B_T2F_Quad;
- this._quadWebBuffer = cc._renderContext.createBuffer();
- this._textureLoaded = this._quadDirty = !0;
- this._softInit(a, c, d)
- };
- a.setBlendFunc = function (a, c) {
- var d = this._blendFunc;
- void 0 === c ? (d.src = a.src, d.dst = a.dst) : (d.src = a, d.dst = c)
- };
- a.init = function () {
- if (0 < arguments.length) return this.initWithFile(arguments[0], arguments[1]);
- cc.Node.prototype.init.call(this);
- this.dirty = this._recursiveDirty = !1;
- this._opacityModifyRGB = !0;
- this._blendFunc.src = cc.BLEND_SRC;
- this._blendFunc.dst = cc.BLEND_DST;
- this.texture = null;
- this._textureLoaded = !0;
- this._flippedX = this._flippedY = !1;
- this.anchorY = this.anchorX = 0.5;
- this._offsetPosition.x = 0;
- this._offsetPosition.y = 0;
- this._hasChildren = !1;
- var a = {
- r: 255,
- g: 255,
- b: 255,
- a: 255
- };
- this._quad.bl.colors = a;
- this._quad.br.colors = a;
- this._quad.tl.colors = a;
- this._quad.tr.colors = a;
- this._quadDirty = !0;
- this.setTextureRect(cc.rect(0, 0, 0, 0), !1, cc.size(0, 0));
- return !0
- };
- a.initWithTexture = function (a, c, d) {
- cc.assert(0 != arguments.length, cc._LogInfos.Sprite_initWithTexture);
- d = d || !1;
- if (!cc.Node.prototype.init.call(this)) return !1;
- this._batchNode = null;
- this.dirty = this._recursiveDirty = !1;
- this._opacityModifyRGB = !0;
- this._blendFunc.src = cc.BLEND_SRC;
- this._blendFunc.dst = cc.BLEND_DST;
- this._flippedX = this._flippedY = !1;
- this.anchorY = this.anchorX = 0.5;
- this._offsetPosition.x = 0;
- this._offsetPosition.y = 0;
- this._hasChildren = !1;
- var e = cc.color(255, 255, 255, 255),
- f = this._quad;
- f.bl.colors = e;
- f.br.colors = e;
- f.tl.colors = e;
- f.tr.colors = e;
- this._textureLoaded = e = a.isLoaded();
- if (!e) return this._rectRotated = d || !1,
- c && (e = this._rect, e.x = c.x, e.y = c.y, e.width = c.width, e.height = c.height),
- a.addLoadedEventListener(this._textureLoadedCallback, this),
- !0;
- c || (c = cc.rect(0, 0, a.width, a.height));
- a && a.url && (d ? (e = c.x + c.height, f = c.y + c.width) : (e = c.x + c.width, f = c.y + c.height), e > a.width && cc.error(cc._LogInfos.RectWidth, a.url), f > a.height && cc.error(cc._LogInfos.RectHeight, a.url));
- this.texture = a;
- this.setTextureRect(c, d);
- this.batchNode = null;
- return this._quadDirty = !0
- };
- a._textureLoadedCallback = function (a) {
- if (!this._textureLoaded) {
- this._textureLoaded = !0;
- var c = this._rect;
- c ? cc._rectEqualToZero(c) && (c.width = a.width, c.height = a.height) : c = cc.rect(0, 0, a.width, a.height);
- this.texture = a;
- this.setTextureRect(c, this._rectRotated);
- this.batchNode = this._batchNode;
- this._quadDirty = !0;
- this._callLoadedEventCallbacks()
- }
- };
- a.setTextureRect = function (a, c, d) {
- this._rectRotated = c || !1;
- this.setContentSize(d || a);
- this.setVertexRect(a);
- this._setTextureCoords(a);
- a = this._unflippedOffsetPositionFromCenter;
- this._flippedX && (a.x = -a.x);
- this._flippedY && (a.y = -a.y);
- var e = this._rect;
- this._offsetPosition.x = a.x + (this._contentSize.width - e.width) / 2;
- this._offsetPosition.y = a.y + (this._contentSize.height - e.height) / 2;
- if (this._batchNode) this.dirty = !0;
- else {
- a = 0 + this._offsetPosition.x;
- c = 0 + this._offsetPosition.y;
- d = a + e.width;
- var e = c + e.height,
- f = this._quad;
- f.bl.vertices = {
- x: a,
- y: c,
- z: 0
- };
- f.br.vertices = {
- x: d,
- y: c,
- z: 0
- };
- f.tl.vertices = {
- x: a,
- y: e,
- z: 0
- };
- f.tr.vertices = {
- x: d,
- y: e,
- z: 0
- };
- this._quadDirty = !0
- }
- };
- a.updateTransform = function () {
- if (this.dirty) {
- var a = this._quad,
- c = this._parent;
- if (!this._visible || c && c != this._batchNode && c._shouldBeHidden) a.br.vertices = a.tl.vertices = a.tr.vertices = a.bl.vertices = {
- x: 0,
- y: 0,
- z: 0
- },
- this._shouldBeHidden = !0;
- else {
- this._shouldBeHidden = !1;
- var d = this._transformToBatch = c && c != this._batchNode ? cc.affineTransformConcat(this.nodeToParentTransform(), c._transformToBatch) : this.nodeToParentTransform(),
- e = this._rect,
- c = this._offsetPosition.x,
- f = this._offsetPosition.y,
- g = c + e.width,
- h = f + e.height,
- k = d.tx,
- m = d.ty,
- n = d.a,
- q = d.b,
- r = d.d,
- s = -d.c,
- d = c * n - f * s + k,
- e = c * q + f * r + m,
- t = g * n - f * s + k,
- f = g * q + f * r + m,
- u = g * n - h * s + k,
- g = g * q + h * r + m,
- k = c * n - h * s + k,
- c = c * q + h * r + m,
- h = this._vertexZ;
- cc.SPRITEBATCHNODE_RENDER_SUBPIXEL || (d |= 0, e |= 0, t |= 0, f |= 0, u |= 0, g |= 0, k |= 0, c |= 0);
- a.bl.vertices = {
- x: d,
- y: e,
- z: h
- };
- a.br.vertices = {
- x: t,
- y: f,
- z: h
- };
- a.tl.vertices = {
- x: k,
- y: c,
- z: h
- };
- a.tr.vertices = {
- x: u,
- y: g,
- z: h
- }
- }
- this.textureAtlas.updateQuad(a, this.atlasIndex);
- this.dirty = this._recursiveDirty = !1
- }
- this._hasChildren && this._arrayMakeObjectsPerformSelector(this._children, cc.Node._StateCallbackType.updateTransform);
- cc.SPRITE_DEBUG_DRAW && (a = [cc.p(this._quad.bl.vertices.x, this._quad.bl.vertices.y), cc.p(this._quad.br.vertices.x, this._quad.br.vertices.y), cc.p(this._quad.tr.vertices.x, this._quad.tr.vertices.y), cc.p(this._quad.tl.vertices.x, this._quad.tl.vertices.y)], cc._drawingUtil.drawPoly(a, 4, !0))
- };
- a.addChild = function (a, c, d) {
- cc.assert(a, cc._LogInfos.Sprite_addChild_3);
- null == c && (c = a._localZOrder);
- null == d && (d = a.tag);
- if (this._batchNode) {
- if (!(a instanceof cc.Sprite)) {
- cc.log(cc._LogInfos.Sprite_addChild);
- return
- }
- a.texture._webTextureObj !== this.textureAtlas.texture._webTextureObj && cc.log(cc._LogInfos.Sprite_addChild_2);
- this._batchNode.appendChild(a);
- this._reorderChildDirty || this._setReorderChildDirtyRecursively()
- }
- cc.Node.prototype.addChild.call(this, a, c, d);
- this._hasChildren = !0
- };
- a.setOpacity = function (a) {
- cc.Node.prototype.setOpacity.call(this, a);
- this.updateColor()
- };
- a.setColor = function (a) {
- cc.Node.prototype.setColor.call(this, a);
- this.updateColor()
- };
- a.updateDisplayedColor = function (a) {
- cc.Node.prototype.updateDisplayedColor.call(this, a);
- this.updateColor()
- };
- a.setSpriteFrame = function (a) {
- var c = this;
- cc.isString(a) && (a = cc.spriteFrameCache.getSpriteFrame(a), cc.assert(a, cc._LogInfos.Sprite_setSpriteFrame));
- c.setNodeDirty(!0);
- var d = a.getOffset();
- c._unflippedOffsetPositionFromCenter.x = d.x;
- c._unflippedOffsetPositionFromCenter.y = d.y;
- d = a.getTexture();
- a.textureLoaded() || (c._textureLoaded = !1, a.addLoadedEventListener(function (a) {
- c._textureLoaded = !0;
- var b = a.getTexture();
- b != c._texture && (c.texture = b);
- c.setTextureRect(a.getRect(), a.isRotated(), a.getOriginalSize());
- c._callLoadedEventCallbacks()
- },
- c));
- d != c._texture && (c.texture = d);
- c._rectRotated = a.isRotated();
- c.setTextureRect(a.getRect(), c._rectRotated, a.getOriginalSize())
- };
- a.isFrameDisplayed = function (a) {
- return cc.rectEqualToRect(a.getRect(), this._rect) && a.getTexture().getName() == this._texture.getName() && cc.pointEqualToPoint(a.getOffset(), this._unflippedOffsetPositionFromCenter)
- };
- a.setBatchNode = function (a) {
- if (this._batchNode = a) this._transformToBatch = cc.affineTransformIdentity(),
- this.textureAtlas = this._batchNode.textureAtlas;
- else {
- this.atlasIndex = cc.Sprite.INDEX_NOT_INITIALIZED;
- this.textureAtlas = null;
- this.dirty = this._recursiveDirty = !1;
- a = this._offsetPosition.x;
- var c = this._offsetPosition.y,
- d = a + this._rect.width,
- e = c + this._rect.height,
- f = this._quad;
- f.bl.vertices = {
- x: a,
- y: c,
- z: 0
- };
- f.br.vertices = {
- x: d,
- y: c,
- z: 0
- };
- f.tl.vertices = {
- x: a,
- y: e,
- z: 0
- };
- f.tr.vertices = {
- x: d,
- y: e,
- z: 0
- };
- this._quadDirty = !0
- }
- };
- a.setTexture = function (a) {
- a && cc.isString(a) ? (a = cc.textureCache.addImage(a), this.setTexture(a), a = a.getContentSize(), this.setTextureRect(cc.rect(0, 0, a.width, a.height))) : (cc.assert(!a || a instanceof cc.Texture2D, cc._LogInfos.Sprite_setTexture_2), this._batchNode && this._batchNode.texture != a ? cc.log(cc._LogInfos.Sprite_setTexture) : (this.shaderProgram = a ? cc.shaderCache.programForKey(cc.SHADER_POSITION_TEXTURECOLOR) : cc.shaderCache.programForKey(cc.SHADER_POSITION_COLOR), this._batchNode || this._texture == a || (this._texture = a, this._updateBlendFunc())))
- };
- a.draw = function () {
- if (this._textureLoaded) {
- var a = cc._renderContext,
- c = this._texture;
- c ? c._isLoaded && (this._shaderProgram.use(), this._shaderProgram.setUniformForModelViewAndProjectionMatrixWithMat4(), cc.glBlendFunc(this._blendFunc.src, this._blendFunc.dst), cc.glBindTexture2DN(0, c), cc.glEnableVertexAttribs(cc.VERTEX_ATTRIB_FLAG_POS_COLOR_TEX), a.bindBuffer(a.ARRAY_BUFFER, this._quadWebBuffer), this._quadDirty && (a.bufferData(a.ARRAY_BUFFER, this._quad.arrayBuffer, a.DYNAMIC_DRAW), this._quadDirty = !1), a.vertexAttribPointer(0, 3, a.FLOAT, !1, 24, 0), a.vertexAttribPointer(1, 4, a.UNSIGNED_BYTE, !0, 24, 12), a.vertexAttribPointer(2, 2, a.FLOAT, !1, 24, 16), a.drawArrays(a.TRIANGLE_STRIP, 0, 4)) : (this._shaderProgram.use(), this._shaderProgram.setUniformForModelViewAndProjectionMatrixWithMat4(), cc.glBlendFunc(this._blendFunc.src, this._blendFunc.dst), cc.glBindTexture2D(null), cc.glEnableVertexAttribs(cc.VERTEX_ATTRIB_FLAG_POSITION | cc.VERTEX_ATTRIB_FLAG_COLOR), a.bindBuffer(a.ARRAY_BUFFER, this._quadWebBuffer), this._quadDirty && (cc._renderContext.bufferData(cc._renderContext.ARRAY_BUFFER, this._quad.arrayBuffer, cc._renderContext.STATIC_DRAW), this._quadDirty = !1), a.vertexAttribPointer(cc.VERTEX_ATTRIB_POSITION, 3, a.FLOAT, !1, 24, 0), a.vertexAttribPointer(cc.VERTEX_ATTRIB_COLOR, 4, a.UNSIGNED_BYTE, !0, 24, 12), a.drawArrays(a.TRIANGLE_STRIP, 0, 4));
- cc.g_NumberOfDraws++;
- if (0 !== cc.SPRITE_DEBUG_DRAW || this._showNode) 1 === cc.SPRITE_DEBUG_DRAW || this._showNode ? (a = this._quad, a = [cc.p(a.tl.vertices.x, a.tl.vertices.y), cc.p(a.bl.vertices.x, a.bl.vertices.y), cc.p(a.br.vertices.x, a.br.vertices.y), cc.p(a.tr.vertices.x, a.tr.vertices.y)], cc._drawingUtil.drawPoly(a, 4, !0)) : 2 === cc.SPRITE_DEBUG_DRAW && (a = this.getTextureRect(), c = this.getOffsetPosition(), a = [cc.p(c.x, c.y), cc.p(c.x + a.width, c.y), cc.p(c.x + a.width, c.y + a.height), cc.p(c.x, c.y + a.height)], cc._drawingUtil.drawPoly(a, 4, !0))
- }
- };
- delete a
- };
- cc._tmp.PrototypeSprite = function () {
- var a = cc.Sprite.prototype;
- cc.defineGetterSetter(a, "opacityModifyRGB", a.isOpacityModifyRGB, a.setOpacityModifyRGB);
- cc.defineGetterSetter(a, "opacity", a.getOpacity, a.setOpacity);
- cc.defineGetterSetter(a, "color", a.getColor, a.setColor);
- cc.defineGetterSetter(a, "flippedX", a.isFlippedX, a.setFlippedX);
- cc.defineGetterSetter(a, "flippedY", a.isFlippedY, a.setFlippedY);
- cc.defineGetterSetter(a, "offsetX", a._getOffsetX);
- cc.defineGetterSetter(a, "offsetY", a._getOffsetY);
- cc.defineGetterSetter(a, "texture", a.getTexture, a.setTexture);
- cc.defineGetterSetter(a, "textureRectRotated", a.isTextureRectRotated);
- cc.defineGetterSetter(a, "batchNode", a.getBatchNode, a.setBatchNode);
- cc.defineGetterSetter(a, "quad", a.getQuad)
- };
- cc.generateTintImageWithMultiply = function (a, b, c, d) {
- d = d || cc.newElement("canvas");
- c = c || cc.rect(0, 0, a.width, a.height);
- var e = d.getContext("2d");
- d.width != c.width || d.height != c.height ? (d.width = c.width, d.height = c.height) : e.globalCompositeOperation = "source-over";
- e.fillStyle = "rgb(" + (0 | b.r) + "," + (0 | b.g) + "," + (0 | b.b) + ")";
- e.fillRect(0, 0, c.width, c.height);
- e.globalCompositeOperation = "multiply";
- e.drawImage(a, c.x, c.y, c.width, c.height, 0, 0, c.width, c.height);
- e.globalCompositeOperation = "destination-atop";
- e.drawImage(a, c.x, c.y, c.width, c.height, 0, 0, c.width, c.height);
- return d
- };
- cc.generateTintImage = function (a, b, c, d, e) {
- d || (d = cc.rect(0, 0, a.width, a.height));
- a = c.r / 255;
- var f = c.g / 255;
- c = c.b / 255;
- var g = Math.min(d.width, b[0].width),
- h = Math.min(d.height, b[0].height),
- k;
- e ? (k = e.getContext("2d"), k.clearRect(0, 0, g, h)) : (e = cc.newElement("canvas"), e.width = g, e.height = h, k = e.getContext("2d"));
- k.save();
- k.globalCompositeOperation = "lighter";
- var m = k.globalAlpha;
- 0 < a && (k.globalAlpha = a * m, k.drawImage(b[0], d.x, d.y, g, h, 0, 0, g, h));
- 0 < f && (k.globalAlpha = f * m, k.drawImage(b[1], d.x, d.y, g, h, 0, 0, g, h));
- 0 < c && (k.globalAlpha = c * m, k.drawImage(b[2], d.x, d.y, g, h, 0, 0, g, h));
- 1 > a + f + c && (k.globalAlpha = m, k.drawImage(b[3], d.x, d.y, g, h, 0, 0, g, h));
- k.restore();
- return e
- };
- cc.generateTextureCacheForColor = function (a) {
- function b() {
- var b = cc.generateTextureCacheForColor,
- d = a.width,
- g = a.height;
- c[0].width = d;
- c[0].height = g;
- c[1].width = d;
- c[1].height = g;
- c[2].width = d;
- c[2].height = g;
- c[3].width = d;
- c[3].height = g;
- b.canvas.width = d;
- b.canvas.height = g;
- var h = b.canvas.getContext("2d");
- h.drawImage(a, 0, 0);
- b.tempCanvas.width = d;
- b.tempCanvas.height = g;
- for (var h = h.getImageData(0, 0, d, g).data, k = 0; 4 > k; k++) {
- var m = c[k].getContext("2d");
- m.getImageData(0, 0, d, g).data;
- b.tempCtx.drawImage(a, 0, 0);
- for (var n = b.tempCtx.getImageData(0, 0, d, g), q = n.data, r = 0; r < h.length; r += 4) q[r] = 0 === k ? h[r] : 0,
- q[r + 1] = 1 === k ? h[r + 1] : 0,
- q[r + 2] = 2 === k ? h[r + 2] : 0,
- q[r + 3] = h[r + 3];
- m.putImageData(n, 0, 0)
- }
- a.onload = null
- }
- if (a.channelCache) return a.channelCache;
- var c = [cc.newElement("canvas"), cc.newElement("canvas"), cc.newElement("canvas"), cc.newElement("canvas")];
- try {
- b()
- } catch (d) {
- a.onload = b
- }
- return a.channelCache = c
- };
- cc.generateTextureCacheForColor.canvas = cc.newElement("canvas");
- cc.generateTextureCacheForColor.tempCanvas = cc.newElement("canvas");
- cc.generateTextureCacheForColor.tempCtx = cc.generateTextureCacheForColor.tempCanvas.getContext("2d");
- cc.cutRotateImageToCanvas = function (a, b) {
- if (!a) return null;
- if (!b) return a;
- var c = cc.newElement("canvas");
- c.width = b.width;
- c.height = b.height;
- var d = c.getContext("2d");
- d.translate(c.width / 2, c.height / 2);
- d.rotate(-1.5707963267948966);
- d.drawImage(a, b.x, b.y, b.height, b.width, -b.height / 2, -b.width / 2, b.height, b.width);
- return c
- };
- cc._getCompositeOperationByBlendFunc = function (a) {
- return a ? a.src == cc.SRC_ALPHA && a.dst == cc.ONE || a.src == cc.ONE && a.dst == cc.ONE ? "lighter" : a.src == cc.ZERO && a.dst == cc.SRC_ALPHA ? "destination-in" : a.src == cc.ZERO && a.dst == cc.ONE_MINUS_SRC_ALPHA ? "destination-out" : "source" : "source"
- };
- cc.Sprite = cc.Node.extend({
- dirty: !1,
- atlasIndex: 0,
- textureAtlas: null,
- _batchNode: null,
- _recursiveDirty: null,
- _hasChildren: null,
- _shouldBeHidden: !1,
- _transformToBatch: null,
- _blendFunc: null,
- _texture: null,
- _rect: null,
- _rectRotated: !1,
- _offsetPosition: null,
- _unflippedOffsetPositionFromCenter: null,
- _opacityModifyRGB: !1,
- _flippedX: !1,
- _flippedY: !1,
- _textureLoaded: !1,
- _loadedEventListeners: null,
- _newTextureWhenChangeColor: null,
- _className: "Sprite",
- _oldDisplayColor: cc.color.WHITE,
- textureLoaded: function () {
- return this._textureLoaded
- },
- addLoadedEventListener: function (a, b) {
- this._loadedEventListeners || (this._loadedEventListeners = []);
- this._loadedEventListeners.push({
- eventCallback: a,
- eventTarget: b
- })
- },
- _callLoadedEventCallbacks: function () {
- if (this._loadedEventListeners) {
- for (var a = this._loadedEventListeners, b = 0, c = a.length; b < c; b++) {
- var d = a[b];
- d.eventCallback.call(d.eventTarget, this)
- }
- a.length = 0
- }
- },
- isDirty: function () {
- return this.dirty
- },
- setDirty: function (a) {
- this.dirty = a
- },
- isTextureRectRotated: function () {
- return this._rectRotated
- },
- getAtlasIndex: function () {
- return this.atlasIndex
- },
- setAtlasIndex: function (a) {
- this.atlasIndex = a
- },
- getTextureRect: function () {
- return cc.rect(this._rect.x, this._rect.y, this._rect.width, this._rect.height)
- },
- getTextureAtlas: function () {
- return this.textureAtlas
- },
- setTextureAtlas: function (a) {
- this.textureAtlas = a
- },
- getOffsetPosition: function () {
- return cc.p(this._offsetPosition)
- },
- _getOffsetX: function () {
- return this._offsetPosition.x
- },
- _getOffsetY: function () {
- return this._offsetPosition.y
- },
- getBlendFunc: function () {
- return this._blendFunc
- },
- initWithSpriteFrame: function (a) {
- cc.assert(a, cc._LogInfos.Sprite_initWithSpriteFrame);
- a.textureLoaded() || (this._textureLoaded = !1, a.addLoadedEventListener(this._spriteFrameLoadedCallback, this));
- var b = cc._renderType === cc._RENDER_TYPE_CANVAS ? !1 : a._rotated,
- b = this.initWithTexture(a.getTexture(), a.getRect(), b);
- this.setSpriteFrame(a);
- return b
- },
- _spriteFrameLoadedCallback: null,
- initWithSpriteFrameName: function (a) {
- cc.assert(a, cc._LogInfos.Sprite_initWithSpriteFrameName);
- var b = cc.spriteFrameCache.getSpriteFrame(a);
- cc.assert(b, a + cc._LogInfos.Sprite_initWithSpriteFrameName1);
- return this.initWithSpriteFrame(b)
- },
- useBatchNode: function (a) {
- this.textureAtlas = a.textureAtlas;
- this._batchNode = a
- },
- setVertexRect: function (a) {
- this._rect.x = a.x;
- this._rect.y = a.y;
- this._rect.width = a.width;
- this._rect.height = a.height
- },
- sortAllChildren: function () {
- if (this._reorderChildDirty) {
- var a = this._children,
- b = a.length,
- c,
- d,
- e;
- for (c = 1; c < b; c++) {
- e = a[c];
- for (d = c - 1; 0 <= d;) {
- if (e._localZOrder < a[d]._localZOrder) a[d + 1] = a[d];
- else if (e._localZOrder === a[d]._localZOrder && e.arrivalOrder < a[d].arrivalOrder) a[d + 1] = a[d];
- else break;
- d--
- }
- a[d + 1] = e
- }
- this._batchNode && this._arrayMakeObjectsPerformSelector(a, cc.Node._StateCallbackType.sortAllChildren);
- this._reorderChildDirty = !1
- }
- },
- reorderChild: function (a, b) {
- cc.assert(a, cc._LogInfos.Sprite_reorderChild_2); -1 === this._children.indexOf(a) ? cc.log(cc._LogInfos.Sprite_reorderChild) : b !== a.zIndex && (this._batchNode && !this._reorderChildDirty && (this._setReorderChildDirtyRecursively(), this._batchNode.reorderBatch(!0)), cc.Node.prototype.reorderChild.call(this, a, b))
- },
- removeChild: function (a, b) {
- this._batchNode && this._batchNode.removeSpriteFromAtlas(a);
- cc.Node.prototype.removeChild.call(this, a, b)
- },
- setVisible: function (a) {
- cc.Node.prototype.setVisible.call(this, a);
- this.setDirtyRecursively(!0)
- },
- removeAllChildren: function (a) {
- var b = this._children,
- c = this._batchNode;
- if (c && null != b) for (var d = 0, e = b.length; d < e; d++) c.removeSpriteFromAtlas(b[d]);
- cc.Node.prototype.removeAllChildren.call(this, a);
- this._hasChildren = !1
- },
- setDirtyRecursively: function (a) {
- this.dirty = this._recursiveDirty = a;
- a = this._children;
- for (var b, c = a ? a.length : 0, d = 0; d < c; d++) b = a[d],
- b instanceof cc.Sprite && b.setDirtyRecursively(!0)
- },
- setNodeDirty: function (a) {
- cc.Node.prototype.setNodeDirty.call(this);
- a || !this._batchNode || this._recursiveDirty || (this._hasChildren ? this.setDirtyRecursively(!0) : this.dirty = this._recursiveDirty = !0)
- },
- ignoreAnchorPointForPosition: function (a) {
- this._batchNode ? cc.log(cc._LogInfos.Sprite_ignoreAnchorPointForPosition) : cc.Node.prototype.ignoreAnchorPointForPosition.call(this, a)
- },
- setFlippedX: function (a) {
- this._flippedX != a && (this._flippedX = a, this.setTextureRect(this._rect, this._rectRotated, this._contentSize), this.setNodeDirty(!0))
- },
- setFlippedY: function (a) {
- this._flippedY != a && (this._flippedY = a, this.setTextureRect(this._rect, this._rectRotated, this._contentSize), this.setNodeDirty(!0))
- },
- isFlippedX: function () {
- return this._flippedX
- },
- isFlippedY: function () {
- return this._flippedY
- },
- setOpacityModifyRGB: null,
- isOpacityModifyRGB: function () {
- return this._opacityModifyRGB
- },
- updateDisplayedOpacity: null,
- setDisplayFrameWithAnimationName: function (a, b) {
- cc.assert(a, cc._LogInfos.Sprite_setDisplayFrameWithAnimationName_3);
- var c = cc.animationCache.getAnimation(a);
- c ? (c = c.getFrames()[b]) ? this.setSpriteFrame(c.getSpriteFrame()) : cc.log(cc._LogInfos.Sprite_setDisplayFrameWithAnimationName_2) : cc.log(cc._LogInfos.Sprite_setDisplayFrameWithAnimationName)
- },
- getBatchNode: function () {
- return this._batchNode
- },
- _setReorderChildDirtyRecursively: function () {
- if (!this._reorderChildDirty) {
- this._reorderChildDirty = !0;
- for (var a = this._parent; a && a != this._batchNode;) a._setReorderChildDirtyRecursively(),
- a = a.parent
- }
- },
- getTexture: function () {
- return this._texture
- },
- _quad: null,
- _quadWebBuffer: null,
- _quadDirty: !1,
- _colorized: !1,
- _blendFuncStr: "source",
- _originalTexture: null,
- _textureRect_Canvas: null,
- _drawSize_Canvas: null,
- ctor: null,
- _softInit: function (a, b, c) {
- if (void 0 === a) cc.Sprite.prototype.init.call(this);
- else if (cc.isString(a)) "#" === a[0] ? (a = a.substr(1, a.length - 1), a = cc.spriteFrameCache.getSpriteFrame(a), this.initWithSpriteFrame(a)) : cc.Sprite.prototype.init.call(this, a, b);
- else if (cc.isObject(a)) if (a instanceof
- cc.Texture2D) this.initWithTexture(a, b, c);
- else if (a instanceof cc.SpriteFrame) this.initWithSpriteFrame(a);
- else if (a instanceof HTMLImageElement || a instanceof HTMLCanvasElement) b = new cc.Texture2D,
- b.initWithElement(a),
- b.handleLoadedTexture(),
- this.initWithTexture(b)
- },
- getQuad: function () {
- return this._quad
- },
- setBlendFunc: null,
- init: null,
- initWithFile: function (a, b) {
- cc.assert(a, cc._LogInfos.Sprite_initWithFile);
- var c = cc.textureCache.getTextureForKey(a);
- if (c) {
- if (!b) {
- var d = c.getContentSize();
- b = cc.rect(0, 0, d.width, d.height)
- }
- return this.initWithTexture(c, b)
- }
- c = cc.textureCache.addImage(a);
- return this.initWithTexture(c, b || cc.rect(0, 0, c._contentSize.width, c._contentSize.height))
- },
- initWithTexture: null,
- _textureLoadedCallback: null,
- setTextureRect: null,
- updateTransform: null,
- addChild: null,
- updateColor: function () {
- var a = this._displayedColor,
- b = this._displayedOpacity,
- a = {
- r: a.r,
- g: a.g,
- b: a.b,
- a: b
- };
- this._opacityModifyRGB && (a.r *= b / 255, a.g *= b / 255, a.b *= b / 255);
- b = this._quad;
- b.bl.colors = a;
- b.br.colors = a;
- b.tl.colors = a;
- b.tr.colors = a;
- this._batchNode && (this.atlasIndex != cc.Sprite.INDEX_NOT_INITIALIZED ? this.textureAtlas.updateQuad(b, this.atlasIndex) : this.dirty = !0);
- this._quadDirty = !0
- },
- setOpacity: null,
- setColor: null,
- updateDisplayedColor: null,
- setSpriteFrame: null,
- setDisplayFrame: function (a) {
- cc.log(cc._LogInfos.Sprite_setDisplayFrame);
- this.setSpriteFrame(a)
- },
- isFrameDisplayed: null,
- displayFrame: function () {
- return cc.SpriteFrame.create(this._texture, cc.rectPointsToPixels(this._rect), this._rectRotated, cc.pointPointsToPixels(this._unflippedOffsetPositionFromCenter), cc.sizePointsToPixels(this._contentSize))
- },
- setBatchNode: null,
- setTexture: null,
- _updateBlendFunc: function () {
- this._batchNode ? cc.log(cc._LogInfos.Sprite__updateBlendFunc) : this._texture && this._texture.hasPremultipliedAlpha() ? (this._blendFunc.src = cc.BLEND_SRC, this._blendFunc.dst = cc.BLEND_DST, this.opacityModifyRGB = !0) : (this._blendFunc.src = cc.SRC_ALPHA, this._blendFunc.dst = cc.ONE_MINUS_SRC_ALPHA, this.opacityModifyRGB = !1)
- },
- _changeTextureColor: function () {
- var a,
- b = this._texture,
- c = this._textureRect_Canvas;
- b && c.validRect && this._originalTexture && (a = b.getHtmlElementObj()) && (this._colorized = !0, a instanceof HTMLCanvasElement && !this._rectRotated && !this._newTextureWhenChangeColor && this._originalTexture._htmlElementObj != a ? cc.generateTintImageWithMultiply(this._originalTexture._htmlElementObj, this._displayedColor, c, a) : (a = cc.generateTintImageWithMultiply(this._originalTexture._htmlElementObj, this._displayedColor, c), b = new cc.Texture2D, b.initWithElement(a), b.handleLoadedTexture(), this.texture = b))
- },
- _setTextureCoords: function (a) {
- a = cc.rectPointsToPixels(a);
- var b = this._batchNode ? this.textureAtlas.texture : this._texture;
- if (b) {
- var c = b.pixelsWidth,
- d = b.pixelsHeight,
- e,
- f = this._quad;
- this._rectRotated ? (cc.FIX_ARTIFACTS_BY_STRECHING_TEXEL ? (b = (2 * a.x + 1) / (2 * c), c = b + (2 * a.height - 2) / (2 * c), e = (2 * a.y + 1) / (2 * d), a = e + (2 * a.width - 2) / (2 * d)) : (b = a.x / c, c = (a.x + a.height) / c, e = a.y / d, a = (a.y + a.width) / d), this._flippedX && (d = e, e = a, a = d), this._flippedY && (d = b, b = c, c = d), f.bl.texCoords.u = b, f.bl.texCoords.v = e, f.br.texCoords.u = b, f.br.texCoords.v = a, f.tl.texCoords.u = c, f.tl.texCoords.v = e, f.tr.texCoords.u = c, f.tr.texCoords.v = a) : (cc.FIX_ARTIFACTS_BY_STRECHING_TEXEL ? (b = (2 * a.x + 1) / (2 * c), c = b + (2 * a.width - 2) / (2 * c), e = (2 * a.y + 1) / (2 * d), a = e + (2 * a.height - 2) / (2 * d)) : (b = a.x / c, c = (a.x + a.width) / c, e = a.y / d, a = (a.y + a.height) / d), this._flippedX && (d = b, b = c, c = d), this._flippedY && (d = e, e = a, a = d), f.bl.texCoords.u = b, f.bl.texCoords.v = a, f.br.texCoords.u = c, f.br.texCoords.v = a, f.tl.texCoords.u = b, f.tl.texCoords.v = e, f.tr.texCoords.u = c, f.tr.texCoords.v = e);
- this._quadDirty = !0
- }
- },
- draw: null
- });
- cc.Sprite.create = function (a, b, c) {
- return new cc.Sprite(a, b, c)
- };
- cc.Sprite.createWithTexture = cc.Sprite.create;
- cc.Sprite.createWithSpriteFrameName = cc.Sprite.create;
- cc.Sprite.createWithSpriteFrame = cc.Sprite.create;
- cc.Sprite.INDEX_NOT_INITIALIZED = -1;
- cc._renderType === cc._RENDER_TYPE_CANVAS ? (_p = cc.Sprite.prototype, _p._spriteFrameLoadedCallback = function (a) {
- this.setNodeDirty(!0);
- this.setTextureRect(a.getRect(), a.isRotated(), a.getOriginalSize());
- a = this.color;
- 255 === a.r && 255 === a.g && 255 === a.b || this._changeTextureColor();
- this._callLoadedEventCallbacks()
- },
- _p.setOpacityModifyRGB = function (a) {
- this._opacityModifyRGB !== a && (this._opacityModifyRGB = a, this.setNodeDirty(!0))
- },
- _p.updateDisplayedOpacity = function (a) {
- cc.Node.prototype.updateDisplayedOpacity.call(this, a);
- this._setNodeDirtyForCache()
- },
- _p.ctor = function (a, b, c) {
- cc.Node.prototype.ctor.call(this);
- this._shouldBeHidden = !1;
- this._offsetPosition = cc.p(0, 0);
- this._unflippedOffsetPositionFromCenter = cc.p(0, 0);
- this._blendFunc = {
- src: cc.BLEND_SRC,
- dst: cc.BLEND_DST
- };
- this._rect = cc.rect(0, 0, 0, 0);
- this._newTextureWhenChangeColor = !1;
- this._textureLoaded = !0;
- this._textureRect_Canvas = {
- x: 0,
- y: 0,
- width: 0,
- height: 0,
- validRect: !1
- };
- this._drawSize_Canvas = cc.size(0, 0);
- this._softInit(a, b, c)
- },
- _p.setBlendFunc = function (a, b) {
- var c = this._blendFunc;
- void 0 === b ? (c.src = a.src, c.dst = a.dst) : (c.src = a, c.dst = b);
- cc._renderType === cc._RENDER_TYPE_CANVAS && (this._blendFuncStr = cc._getCompositeOperationByBlendFunc(c))
- },
- _p.init = function () {
- if (0 < arguments.length) return this.initWithFile(arguments[0], arguments[1]);
- cc.Node.prototype.init.call(this);
- this.dirty = this._recursiveDirty = !1;
- this._opacityModifyRGB = !0;
- this._blendFunc.src = cc.BLEND_SRC;
- this._blendFunc.dst = cc.BLEND_DST;
- this.texture = null;
- this._textureLoaded = !0;
- this._flippedX = this._flippedY = !1;
- this.anchorY = this.anchorX = 0.5;
- this._offsetPosition.x = 0;
- this._offsetPosition.y = 0;
- this._hasChildren = !1;
- this.setTextureRect(cc.rect(0, 0, 0, 0), !1, cc.size(0, 0));
- return !0
- },
- _p.initWithTexture = function (a, b, c) {
- cc.assert(0 != arguments.length, cc._LogInfos.CCSpriteBatchNode_initWithTexture);
- if ((c = c || !1) && a.isLoaded()) {
- var d = a.getHtmlElementObj(),
- d = cc.cutRotateImageToCanvas(d, b),
- e = new cc.Texture2D;
- e.initWithElement(d);
- e.handleLoadedTexture();
- a = e;
- this._rect = cc.rect(0, 0, b.width, b.height)
- }
- if (!cc.Node.prototype.init.call(this)) return !1;
- this._batchNode = null;
- this.dirty = this._recursiveDirty = !1;
- this._opacityModifyRGB = !0;
- this._blendFunc.src = cc.BLEND_SRC;
- this._blendFunc.dst = cc.BLEND_DST;
- this._flippedX = this._flippedY = !1;
- this.anchorY = this.anchorX = 0.5;
- this._offsetPosition.x = 0;
- this._offsetPosition.y = 0;
- this._hasChildren = !1;
- this._textureLoaded = d = a.isLoaded();
- if (!d) return this._rectRotated = c,
- b && (this._rect.x = b.x, this._rect.y = b.y, this._rect.width = b.width, this._rect.height = b.height),
- this.texture && this.texture.removeLoadedEventListener(this),
- a.addLoadedEventListener(this._textureLoadedCallback, this),
- this.texture = a,
- !0;
- b || (b = cc.rect(0, 0, a.width, a.height));
- a && a.url && (d = b.y + b.height, b.x + b.width > a.width && cc.error(cc._LogInfos.RectWidth, a.url), d > a.height && cc.error(cc._LogInfos.RectHeight, a.url));
- this.texture = this._originalTexture = a;
- this.setTextureRect(b, c);
- this.batchNode = null;
- return !0
- },
- _p._textureLoadedCallback = function (a) {
- if (!this._textureLoaded) {
- this._textureLoaded = !0;
- var b = this._rect;
- b ? cc._rectEqualToZero(b) && (b.width = a.width, b.height = a.height) : b = cc.rect(0, 0, a.width, a.height);
- this.texture = this._originalTexture = a;
- this.setTextureRect(b, this._rectRotated);
- a = this._displayedColor;
- 255 == a.r && 255 == a.g && 255 == a.b || this._changeTextureColor();
- this.batchNode = this._batchNode;
- this._callLoadedEventCallbacks()
- }
- },
- _p.setTextureRect = function (a, b, c) {
- this._rectRotated = b || !1;
- this.setContentSize(c || a);
- this.setVertexRect(a);
- b = this._textureRect_Canvas;
- c = cc.contentScaleFactor();
- b.x = 0 | a.x * c;
- b.y = 0 | a.y * c;
- b.width = 0 | a.width * c;
- b.height = 0 | a.height * c;
- b.validRect = !(0 === b.width || 0 === b.height || 0 > b.x || 0 > b.y);
- a = this._unflippedOffsetPositionFromCenter;
- this._flippedX && (a.x = -a.x);
- this._flippedY && (a.y = -a.y);
- this._offsetPosition.x = a.x + (this._contentSize.width - this._rect.width) / 2;
- this._offsetPosition.y = a.y + (this._contentSize.height - this._rect.height) / 2;
- this._batchNode && (this.dirty = !0)
- },
- _p.updateTransform = function () {
- if (this.dirty) {
- var a = this._parent; !this._visible || a && a != this._batchNode && a._shouldBeHidden ? this._shouldBeHidden = !0 : (this._shouldBeHidden = !1, this._transformToBatch = a && a != this._batchNode ? cc.affineTransformConcat(this.nodeToParentTransform(), a._transformToBatch) : this.nodeToParentTransform());
- this.dirty = this._recursiveDirty = !1
- }
- this._hasChildren && this._arrayMakeObjectsPerformSelector(this._children, cc.Node._StateCallbackType.updateTransform)
- },
- _p.addChild = function (a, b, c) {
- cc.assert(a, cc._LogInfos.CCSpriteBatchNode_addChild_2);
- null == b && (b = a._localZOrder);
- null == c && (c = a.tag);
- cc.Node.prototype.addChild.call(this, a, b, c);
- this._hasChildren = !0
- },
- _p.setOpacity = function (a) {
- cc.Node.prototype.setOpacity.call(this, a);
- this._setNodeDirtyForCache()
- },
- _p.setColor = function (a) {
- var b = this.color;
- this._oldDisplayColor = b;
- b.r === a.r && b.g === a.g && b.b === a.b || cc.Node.prototype.setColor.call(this, a)
- },
- _p.updateDisplayedColor = function (a) {
- cc.Node.prototype.updateDisplayedColor.call(this, a);
- a = this._oldDisplayColor;
- var b = this._displayedColor;
- if (a.r !== b.r || a.g !== b.g || a.b !== b.b) this._changeTextureColor(),
- this._setNodeDirtyForCache()
- },
- _p.setSpriteFrame = function (a) {
- var b = this;
- cc.isString(a) && (a = cc.spriteFrameCache.getSpriteFrame(a), cc.assert(a, cc._LogInfos.CCSpriteBatchNode_setSpriteFrame));
- b.setNodeDirty(!0);
- var c = a.getOffset();
- b._unflippedOffsetPositionFromCenter.x = c.x;
- b._unflippedOffsetPositionFromCenter.y = c.y;
- b._rectRotated = a.isRotated();
- var c = a.getTexture(),
- d = a.textureLoaded();
- d || (b._textureLoaded = !1, a.addLoadedEventListener(function (a) {
- b._textureLoaded = !0;
- var c = a.getTexture();
- c != b._texture && (b.texture = c);
- b.setTextureRect(a.getRect(), a.isRotated(), a.getOriginalSize());
- b._callLoadedEventCallbacks()
- },
- b));
- c != b._texture && (b.texture = c);
- b._rectRotated && (b._originalTexture = c);
- b.setTextureRect(a.getRect(), b._rectRotated, a.getOriginalSize());
- b._colorized = !1;
- d && (a = b.color, 255 === a.r && 255 === a.g && 255 === a.b || b._changeTextureColor())
- },
- _p.isFrameDisplayed = function (a) {
- return a.getTexture() != this._texture ? !1 : cc.rectEqualToRect(a.getRect(), this._rect)
- },
- _p.setBatchNode = function (a) {
- (this._batchNode = a) ? (this._transformToBatch = cc.affineTransformIdentity(), this.textureAtlas = this._batchNode.textureAtlas) : (this.atlasIndex = cc.Sprite.INDEX_NOT_INITIALIZED, this.textureAtlas = null, this.dirty = this._recursiveDirty = !1)
- },
- _p.setTexture = function (a) {
- a && cc.isString(a) ? (a = cc.textureCache.addImage(a), this.setTexture(a), a = a.getContentSize(), this.setTextureRect(cc.rect(0, 0, a.width, a.height))) : (cc.assert(!a || a instanceof cc.Texture2D, cc._LogInfos.CCSpriteBatchNode_setTexture), this._texture != a && (a && a.getHtmlElementObj() instanceof HTMLImageElement && (this._originalTexture = a), this._texture = a))
- },
- _p.draw = function (a) {
- if (this._textureLoaded) {
- a = a || cc._renderContext;
- "source" != this._blendFuncStr && (a.globalCompositeOperation = this._blendFuncStr);
- var b = cc.view.getScaleX(),
- c = cc.view.getScaleY();
- a.globalAlpha = this._displayedOpacity / 255;
- var d = this._rect,
- e = this._contentSize,
- f = this._offsetPosition,
- g = this._drawSize_Canvas,
- h = 0 | f.x,
- k = -f.y - d.height,
- m = this._textureRect_Canvas;
- g.width = d.width * b;
- g.height = d.height * c;
- if (this._flippedX || this._flippedY) a.save(),
- this._flippedX && (h = -f.x - d.width, a.scale(-1, 1)),
- this._flippedY && (k = f.y, a.scale(1, -1));
- h *= b;
- k *= c;
- this._texture && m.validRect ? (e = this._texture.getHtmlElementObj(), this._colorized ? a.drawImage(e, 0, 0, m.width, m.height, h, k, g.width, g.height) : a.drawImage(e, m.x, m.y, m.width, m.height, h, k, g.width, g.height)) : !this._texture && m.validRect && (g = this.color, a.fillStyle = "rgba(" + g.r + "," + g.g + "," + g.b + ",1)", a.fillRect(h, k, e.width * b, e.height * c));
- 1 === cc.SPRITE_DEBUG_DRAW || this._showNode ? (a.strokeStyle = "rgba(0,255,0,1)", h /= b, k = -(k / c), h = [cc.p(h, k), cc.p(h + d.width, k), cc.p(h + d.width, k - d.height), cc.p(h, k - d.height)], cc._drawingUtil.drawPoly(h, 4, !0)) : 2 === cc.SPRITE_DEBUG_DRAW && (a.strokeStyle = "rgba(0,255,0,1)", b = this._rect, k = -k, h = [cc.p(h, k), cc.p(h + b.width, k), cc.p(h + b.width, k - b.height), cc.p(h, k - b.height)], cc._drawingUtil.drawPoly(h, 4, !0)); (this._flippedX || this._flippedY) && a.restore();
- cc.g_NumberOfDraws++
- }
- },
- cc.sys._supportCanvasNewBlendModes || (_p._changeTextureColor = function () {
- var a,
- b = this._texture,
- c = this._textureRect_Canvas;
- b && c.validRect && this._originalTexture && (a = b.getHtmlElementObj()) && (b = cc.textureCache.getTextureColors(this._originalTexture.getHtmlElementObj())) && (this._colorized = !0, a instanceof HTMLCanvasElement && !this._rectRotated && !this._newTextureWhenChangeColor ? cc.generateTintImage(a, b, this._displayedColor, c, a) : (a = cc.generateTintImage(a, b, this._displayedColor, c), b = new cc.Texture2D, b.initWithElement(a), b.handleLoadedTexture(), this.texture = b))
- }), delete _p) : (cc.assert(cc.isFunction(cc._tmp.WebGLSprite), cc._LogInfos.MissingFile, "SpritesWebGL.js"), cc._tmp.WebGLSprite(), delete cc._tmp.WebGLSprite);
- cc.assert(cc.isFunction(cc._tmp.PrototypeSprite), cc._LogInfos.MissingFile, "SpritesPropertyDefine.js");
- cc._tmp.PrototypeSprite();
- delete cc._tmp.PrototypeSprite;
- cc.DEFAULT_SPRITE_BATCH_CAPACITY = 29;
- cc.SpriteBatchNode = cc.Node.extend({
- textureAtlas: null,
- _blendFunc: null,
- _descendants: null,
- _className: "SpriteBatchNode",
- addSpriteWithoutQuad: function (a, b, c) {
- cc.assert(a, cc._LogInfos.SpriteBatchNode_addSpriteWithoutQuad_2);
- if (!(a instanceof cc.Sprite)) return cc.log(cc._LogInfos.SpriteBatchNode_addSpriteWithoutQuad),
- null;
- a.atlasIndex = b;
- var d = 0,
- e = this._descendants;
- if (e && 0 < e.length) for (var f = 0; f < e.length; f++) {
- var g = e[f];
- g && g.atlasIndex >= b && ++d
- }
- e.splice(d, 0, a);
- cc.Node.prototype.addChild.call(this, a, b, c);
- this.reorderBatch(!1);
- return this
- },
- getTextureAtlas: function () {
- return this.textureAtlas
- },
- setTextureAtlas: function (a) {
- a != this.textureAtlas && (this.textureAtlas = a)
- },
- getDescendants: function () {
- return this._descendants
- },
- initWithFile: function (a, b) {
- var c = cc.textureCache.getTextureForKey(a);
- c || (c = cc.textureCache.addImage(a));
- return this.initWithTexture(c, b)
- },
- _setNodeDirtyForCache: function () {
- this._cacheDirty = !0
- },
- init: function (a, b) {
- var c = cc.textureCache.getTextureForKey(a);
- c || (c = cc.textureCache.addImage(a));
- return this.initWithTexture(c, b)
- },
- increaseAtlasCapacity: function () {
- var a = this.textureAtlas.capacity,
- b = Math.floor(4 * (a + 1) / 3);
- cc.log(cc._LogInfos.SpriteBatchNode_increaseAtlasCapacity, a, b);
- this.textureAtlas.resizeCapacity(b) || cc.log(cc._LogInfos.SpriteBatchNode_increaseAtlasCapacity_2)
- },
- removeChildAtIndex: function (a, b) {
- this.removeChild(this._children[a], b)
- },
- rebuildIndexInOrder: function (a, b) {
- var c = a.children;
- if (c && 0 < c.length) for (var d = 0; d < c.length; d++) {
- var e = c[d];
- e && 0 > e.zIndex && (b = this.rebuildIndexInOrder(e, b))
- } !a == this && (a.atlasIndex = b, b++);
- if (c && 0 < c.length) for (d = 0; d < c.length; d++) (e = c[d]) && 0 <= e.zIndex && (b = this.rebuildIndexInOrder(e, b));
- return b
- },
- highestAtlasIndexInChild: function (a) {
- var b = a.children;
- return b && 0 != b.length ? this.highestAtlasIndexInChild(b[b.length - 1]) : a.atlasIndex
- },
- lowestAtlasIndexInChild: function (a) {
- var b = a.children;
- return b && 0 != b.length ? this.lowestAtlasIndexInChild(b[b.length - 1]) : a.atlasIndex
- },
- atlasIndexForChild: function (a, b) {
- var c = a.parent,
- d = c.children,
- e = d.indexOf(a),
- f = null;
- 0 < e && e < cc.UINT_MAX && (f = d[e - 1]);
- return c == this ? 0 == e ? 0 : this.highestAtlasIndexInChild(f) + 1 : 0 == e ? 0 > b ? c.atlasIndex : c.atlasIndex + 1 : 0 > f.zIndex && 0 > b || 0 <= f.zIndex && 0 <= b ? this.highestAtlasIndexInChild(f) + 1 : c.atlasIndex + 1
- },
- reorderBatch: function (a) {
- this._reorderChildDirty = a
- },
- setBlendFunc: function (a, b) {
- this._blendFunc = void 0 === b ? a : {
- src: a,
- dst: b
- }
- },
- getBlendFunc: function () {
- return this._blendFunc
- },
- reorderChild: function (a, b) {
- cc.assert(a, cc._LogInfos.SpriteBatchNode_reorderChild_2); -1 === this._children.indexOf(a) ? cc.log(cc._LogInfos.SpriteBatchNode_reorderChild) : b !== a.zIndex && (cc.Node.prototype.reorderChild.call(this, a, b), this.setNodeDirty())
- },
- removeChild: function (a, b) {
- null != a && (-1 === this._children.indexOf(a) ? cc.log(cc._LogInfos.SpriteBatchNode_removeChild) : (this.removeSpriteFromAtlas(a), cc.Node.prototype.removeChild.call(this, a, b)))
- },
- _mvpMatrix: null,
- _textureForCanvas: null,
- _useCache: !1,
- _originalTexture: null,
- ctor: null,
- _ctorForCanvas: function (a, b) {
- cc.Node.prototype.ctor.call(this);
- var c;
- b = b || cc.DEFAULT_SPRITE_BATCH_CAPACITY;
- cc.isString(a) ? (c = cc.textureCache.getTextureForKey(a)) || (c = cc.textureCache.addImage(a)) : a instanceof cc.Texture2D && (c = a);
- c && this.initWithTexture(c, b)
- },
- _ctorForWebGL: function (a, b) {
- cc.Node.prototype.ctor.call(this);
- this._mvpMatrix = new cc.kmMat4;
- var c;
- b = b || cc.DEFAULT_SPRITE_BATCH_CAPACITY;
- cc.isString(a) ? (c = cc.textureCache.getTextureForKey(a)) || (c = cc.textureCache.addImage(a)) : a instanceof cc.Texture2D && (c = a);
- c && this.initWithTexture(c, b)
- },
- updateQuadFromSprite: null,
- _updateQuadFromSpriteForCanvas: function (a, b) {
- cc.assert(a, cc._LogInfos.CCSpriteBatchNode_updateQuadFromSprite_2);
- a instanceof cc.Sprite ? (a.batchNode = this, a.atlasIndex = b, a.dirty = !0, a.updateTransform()) : cc.log(cc._LogInfos.CCSpriteBatchNode_updateQuadFromSprite)
- },
- _updateQuadFromSpriteForWebGL: function (a, b) {
- cc.assert(a, cc._LogInfos.CCSpriteBatchNode_updateQuadFromSprite);
- if (a instanceof cc.Sprite) {
- for (var c = this.textureAtlas.capacity; b >= c || c == this.textureAtlas.totalQuads;) this.increaseAtlasCapacity();
- a.batchNode = this;
- a.atlasIndex = b;
- a.dirty = !0;
- a.updateTransform()
- } else cc.log(cc._LogInfos.CCSpriteBatchNode_updateQuadFromSprite)
- },
- _swap: function (a, b) {
- var c = this._descendants,
- d = this.textureAtlas,
- e = d.quads,
- f = c[a],
- g = cc.V3F_C4B_T2F_QuadCopy(e[a]);
- c[b].atlasIndex = a;
- c[a] = c[b];
- d.updateQuad(e[b], a);
- c[b] = f;
- d.updateQuad(g, b)
- },
- insertQuadFromSprite: null,
- _insertQuadFromSpriteForCanvas: function (a, b) {
- cc.assert(a, cc._LogInfos.CCSpriteBatchNode_insertQuadFromSprite_2);
- a instanceof cc.Sprite ? (a.batchNode = this, a.atlasIndex = b, a.dirty = !0, a.updateTransform(), a._setCachedParent(this), this._children.splice(b, 0, a)) : cc.log(cc._LogInfos.CCSpriteBatchNode_insertQuadFromSprite)
- },
- _insertQuadFromSpriteForWebGL: function (a, b) {
- cc.assert(a, cc._LogInfos.Sprite_insertQuadFromSprite_2);
- if (a instanceof cc.Sprite) {
- for (var c = this.textureAtlas; b >= c.capacity || c.capacity === c.totalQuads;) this.increaseAtlasCapacity();
- a.batchNode = this;
- a.atlasIndex = b;
- c.insertQuad(a.quad, b);
- a.dirty = !0;
- a.updateTransform()
- } else cc.log(cc._LogInfos.Sprite_insertQuadFromSprite)
- },
- _updateAtlasIndex: function (a, b) {
- var c = 0,
- d = a.children;
- d && (c = d.length);
- var e = 0;
- if (0 === c) e = a.atlasIndex,
- a.atlasIndex = b,
- a.arrivalOrder = 0,
- e != b && this._swap(e, b),
- b++;
- else {
- e = !0;
- 0 <= d[0].zIndex && (e = a.atlasIndex, a.atlasIndex = b, a.arrivalOrder = 0, e != b && this._swap(e, b), b++, e = !1);
- for (c = 0; c < d.length; c++) {
- var f = d[c];
- e && 0 <= f.zIndex && (e = a.atlasIndex, a.atlasIndex = b, a.arrivalOrder = 0, e != b && this._swap(e, b), b++, e = !1);
- b = this._updateAtlasIndex(f, b)
- }
- e && (e = a.atlasIndex, a.atlasIndex = b, a.arrivalOrder = 0, e != b && this._swap(e, b), b++)
- }
- return b
- },
- _updateBlendFunc: function () {
- this.textureAtlas.texture.hasPremultipliedAlpha() || (this._blendFunc.src = cc.SRC_ALPHA, this._blendFunc.dst = cc.ONE_MINUS_SRC_ALPHA)
- },
- initWithTexture: null,
- _initWithTextureForCanvas: function (a, b) {
- this._children = [];
- this._descendants = [];
- this._blendFunc = new cc.BlendFunc(cc.BLEND_SRC, cc.BLEND_DST);
- this._textureForCanvas = this._originalTexture = a;
- return !0
- },
- _initWithTextureForWebGL: function (a, b) {
- this._children = [];
- this._descendants = [];
- this._blendFunc = new cc.BlendFunc(cc.BLEND_SRC, cc.BLEND_DST);
- b = b || cc.DEFAULT_SPRITE_BATCH_CAPACITY;
- this.textureAtlas = new cc.TextureAtlas;
- this.textureAtlas.initWithTexture(a, b);
- this._updateBlendFunc();
- this.shaderProgram = cc.shaderCache.programForKey(cc.SHADER_POSITION_TEXTURECOLOR);
- return !0
- },
- insertChild: function (a, b) {
- a.batchNode = this;
- a.atlasIndex = b;
- a.dirty = !0;
- var c = this.textureAtlas;
- c.totalQuads >= c.capacity && this.increaseAtlasCapacity();
- c.insertQuad(a.quad, b);
- this._descendants.splice(b, 0, a);
- var c = b + 1,
- d = this._descendants;
- if (d && 0 < d.length) for (; c < d.length; c++) d[c].atlasIndex++;
- var d = a.children,
- e;
- if (d) for (c = 0, l = d.length || 0; c < l; c++) if (e = d[c]) {
- var f = this.atlasIndexForChild(e, e.zIndex);
- this.insertChild(e, f)
- }
- },
- appendChild: null,
- _appendChildForCanvas: function (a) {
- this._reorderChildDirty = !0;
- a.batchNode = this;
- a.dirty = !0;
- this._descendants.push(a);
- a.atlasIndex = this._descendants.length - 1;
- a = a.children;
- for (var b = 0, c = a.length || 0; b < c; b++) this.appendChild(a[b])
- },
- _appendChildForWebGL: function (a) {
- this._reorderChildDirty = !0;
- a.batchNode = this;
- a.dirty = !0;
- this._descendants.push(a);
- var b = this._descendants.length - 1;
- a.atlasIndex = b;
- var c = this.textureAtlas;
- c.totalQuads == c.capacity && this.increaseAtlasCapacity();
- c.insertQuad(a.quad, b);
- a = a.children;
- b = 0;
- for (c = a.length || 0; b < c; b++) this.appendChild(a[b])
- },
- removeSpriteFromAtlas: null,
- _removeSpriteFromAtlasForCanvas: function (a) {
- a.batchNode = null;
- var b = this._descendants,
- c = b.indexOf(a);
- if (-1 != c) {
- b.splice(c, 1);
- for (var d = b.length; c < d; ++c) b[c].atlasIndex--
- }
- if (a = a.children) for (b = 0, c = a.length || 0; b < c; b++) a[b] && this.removeSpriteFromAtlas(a[b])
- },
- _removeSpriteFromAtlasForWebGL: function (a) {
- this.textureAtlas.removeQuadAtIndex(a.atlasIndex);
- a.batchNode = null;
- var b = this._descendants,
- c = b.indexOf(a);
- if (-1 != c) {
- b.splice(c, 1);
- for (var d = b.length; c < d; ++c) b[c].atlasIndex--
- }
- if (a = a.children) for (b = 0, c = a.length || 0; b < c; b++) a[b] && this.removeSpriteFromAtlas(a[b])
- },
- getTexture: null,
- _getTextureForCanvas: function () {
- return this._textureForCanvas
- },
- _getTextureForWebGL: function () {
- return this.textureAtlas.texture
- },
- setTexture: null,
- _setTextureForCanvas: function (a) {
- this._textureForCanvas = a;
- for (var b = this._children, c = 0; c < b.length; c++) b[c].texture = a
- },
- _setTextureForWebGL: function (a) {
- this.textureAtlas.texture = a;
- this._updateBlendFunc()
- },
- visit: null,
- _visitForCanvas: function (a) {
- var b = a || cc._renderContext;
- if (this._visible) {
- b.save();
- this.transform(a);
- var c = this._children;
- if (c) for (this.sortAllChildren(), a = 0; a < c.length; a++) c[a] && c[a].visit(b);
- b.restore()
- }
- },
- _visitForWebGL: function (a) {
- a = a || cc._renderContext;
- if (this._visible) {
- cc.kmGLPushMatrix();
- var b = this.grid;
- b && b.isActive() && (b.beforeDraw(), this.transformAncestors());
- this.sortAllChildren();
- this.transform(a);
- this.draw(a);
- b && b.isActive() && b.afterDraw(this);
- cc.kmGLPopMatrix();
- this.arrivalOrder = 0
- }
- },
- addChild: null,
- _addChildForCanvas: function (a, b, c) {
- cc.assert(null != a, cc._LogInfos.CCSpriteBatchNode_addChild_3);
- a instanceof cc.Sprite ? (b = null == b ? a.zIndex : b, c = null == c ? a.tag : c, cc.Node.prototype.addChild.call(this, a, b, c), this.appendChild(a), this.setNodeDirty()) : cc.log(cc._LogInfos.CCSpriteBatchNode_addChild)
- },
- _addChildForWebGL: function (a, b, c) {
- cc.assert(null != a, cc._LogInfos.Sprite_addChild_6);
- a instanceof cc.Sprite ? a.texture != this.textureAtlas.texture ? cc.log(cc._LogInfos.Sprite_addChild_5) : (b = null == b ? a.zIndex : b, c = null == c ? a.tag : c, cc.Node.prototype.addChild.call(this, a, b, c), this.appendChild(a), this.setNodeDirty()) : cc.log(cc._LogInfos.Sprite_addChild_4)
- },
- removeAllChildren: null,
- _removeAllChildrenForCanvas: function (a) {
- var b = this._descendants;
- if (b && 0 < b.length) for (var c = 0, d = b.length; c < d; c++) b[c] && (b[c].batchNode = null);
- cc.Node.prototype.removeAllChildren.call(this, a);
- this._descendants.length = 0
- },
- _removeAllChildrenForWebGL: function (a) {
- var b = this._descendants;
- if (b && 0 < b.length) for (var c = 0, d = b.length; c < d; c++) b[c] && (b[c].batchNode = null);
- cc.Node.prototype.removeAllChildren.call(this, a);
- this._descendants.length = 0;
- this.textureAtlas.removeAllQuads()
- },
- sortAllChildren: null,
- _sortAllChildrenForCanvas: function () {
- if (this._reorderChildDirty) {
- var a,
- b = 0,
- c = this._children,
- d = c.length,
- e;
- for (a = 1; a < d; a++) {
- var f = c[a],
- b = a - 1;
- for (e = c[b]; 0 <= b && (f._localZOrder < e._localZOrder || f._localZOrder == e._localZOrder && f.arrivalOrder < e.arrivalOrder) ;) c[b + 1] = e,
- b -= 1,
- e = c[b];
- c[b + 1] = f
- }
- 0 < c.length && this._arrayMakeObjectsPerformSelector(c, cc.Node._StateCallbackType.sortAllChildren);
- this._reorderChildDirty = !1
- }
- },
- _sortAllChildrenForWebGL: function () {
- if (this._reorderChildDirty) {
- var a = this._children,
- b,
- c = 0,
- d = a.length,
- e;
- for (b = 1; b < d; b++) {
- var f = a[b],
- c = b - 1;
- for (e = a[c]; 0 <= c && (f._localZOrder < e._localZOrder || f._localZOrder == e._localZOrder && f.arrivalOrder < e.arrivalOrder) ;) a[c + 1] = e,
- c -= 1,
- e = a[c];
- a[c + 1] = f
- }
- if (0 < a.length) for (this._arrayMakeObjectsPerformSelector(a, cc.Node._StateCallbackType.sortAllChildren), b = c = 0; b < a.length; b++) c = this._updateAtlasIndex(a[b], c);
- this._reorderChildDirty = !1
- }
- },
- draw: null,
- _drawForWebGL: function () {
- 0 !== this.textureAtlas.totalQuads && (this._shaderProgram.use(), this._shaderProgram.setUniformForModelViewAndProjectionMatrixWithMat4(), this._arrayMakeObjectsPerformSelector(this._children, cc.Node._StateCallbackType.updateTransform), cc.glBlendFunc(this._blendFunc.src, this._blendFunc.dst), this.textureAtlas.drawQuads())
- }
- });
- _p = cc.SpriteBatchNode.prototype;
- cc._renderType === cc._RENDER_TYPE_WEBGL ? (_p.ctor = _p._ctorForWebGL, _p.updateQuadFromSprite = _p._updateQuadFromSpriteForWebGL, _p.insertQuadFromSprite = _p._insertQuadFromSpriteForWebGL, _p.initWithTexture = _p._initWithTextureForWebGL, _p.appendChild = _p._appendChildForWebGL, _p.removeSpriteFromAtlas = _p._removeSpriteFromAtlasForWebGL, _p.getTexture = _p._getTextureForWebGL, _p.setTexture = _p._setTextureForWebGL, _p.visit = _p._visitForWebGL, _p.addChild = _p._addChildForWebGL, _p.removeAllChildren = _p._removeAllChildrenForWebGL, _p.sortAllChildren = _p._sortAllChildrenForWebGL, _p.draw = _p._drawForWebGL) : (_p.ctor = _p._ctorForCanvas, _p.updateQuadFromSprite = _p._updateQuadFromSpriteForCanvas, _p.insertQuadFromSprite = _p._insertQuadFromSpriteForCanvas, _p.initWithTexture = _p._initWithTextureForCanvas, _p.appendChild = _p._appendChildForCanvas, _p.removeSpriteFromAtlas = _p._removeSpriteFromAtlasForCanvas, _p.getTexture = _p._getTextureForCanvas, _p.setTexture = _p._setTextureForCanvas, _p.visit = _p._visitForCanvas, _p.removeAllChildren = _p._removeAllChildrenForCanvas, _p.addChild = _p._addChildForCanvas, _p.sortAllChildren = _p._sortAllChildrenForCanvas, _p.draw = cc.Node.prototype.draw);
- cc.defineGetterSetter(_p, "texture", _p.getTexture, _p.setTexture);
- cc.defineGetterSetter(_p, "descendants", _p.getDescendants);
- cc.SpriteBatchNode.create = function (a, b) {
- return new cc.SpriteBatchNode(a, b)
- };
- cc.SpriteBatchNode.createWithTexture = cc.SpriteBatchNode.create;
- cc.BakeSprite = cc.Sprite.extend({
- _cacheCanvas: null,
- _cacheContext: null,
- ctor: function () {
- cc.Sprite.prototype.ctor.call(this);
- var a = document.createElement("canvas");
- a.width = a.height = 10;
- this._cacheCanvas = a;
- this._cacheContext = a.getContext("2d");
- var b = new cc.Texture2D;
- b.initWithElement(a);
- b.handleLoadedTexture();
- this.setTexture(b)
- },
- getCacheContext: function () {
- return this._cacheContext
- },
- getCacheCanvas: function () {
- return this._cacheCanvas
- },
- resetCanvasSize: function (a, b) {
- void 0 === b && (b = a.height, a = a.width);
- var c = this._cacheCanvas;
- c.width = a;
- c.height = b;
- this.getTexture().handleLoadedTexture();
- this.setTextureRect(cc.rect(0, 0, a, b), !1)
- }
- });
- cc.AnimationFrame = cc.Class.extend({
- _spriteFrame: null,
- _delayPerUnit: 0,
- _userInfo: null,
- ctor: function (a, b, c) {
- this._spriteFrame = a || null;
- this._delayPerUnit = b || 0;
- this._userInfo = c || null
- },
- clone: function () {
- var a = new cc.AnimationFrame;
- a.initWithSpriteFrame(this._spriteFrame.clone(), this._delayPerUnit, this._userInfo);
- return a
- },
- copyWithZone: function (a) {
- return cc.clone(this)
- },
- copy: function (a) {
- a = new cc.AnimationFrame;
- a.initWithSpriteFrame(this._spriteFrame.clone(), this._delayPerUnit, this._userInfo);
- return a
- },
- initWithSpriteFrame: function (a, b, c) {
- this._spriteFrame = a;
- this._delayPerUnit = b;
- this._userInfo = c;
- return !0
- },
- getSpriteFrame: function () {
- return this._spriteFrame
- },
- setSpriteFrame: function (a) {
- this._spriteFrame = a
- },
- getDelayUnits: function () {
- return this._delayPerUnit
- },
- setDelayUnits: function (a) {
- this._delayPerUnit = a
- },
- getUserInfo: function () {
- return this._userInfo
- },
- setUserInfo: function (a) {
- this._userInfo = a
- }
- });
- cc.AnimationFrame.create = function (a, b, c) {
- return new cc.AnimationFrame(a, b, c)
- };
- cc.Animation = cc.Class.extend({
- _frames: null,
- _loops: 0,
- _restoreOriginalFrame: !1,
- _duration: 0,
- _delayPerUnit: 0,
- _totalDelayUnits: 0,
- ctor: function (a, b, c) {
- this._frames = [];
- if (void 0 === a) this.initWithSpriteFrames(null, 0);
- else {
- var d = a[0];
- d && (d instanceof cc.SpriteFrame ? this.initWithSpriteFrames(a, b, c) : d instanceof cc.AnimationFrame && this.initWithAnimationFrames(a, b, c))
- }
- },
- getFrames: function () {
- return this._frames
- },
- setFrames: function (a) {
- this._frames = a
- },
- addSpriteFrame: function (a) {
- var b = new cc.AnimationFrame;
- b.initWithSpriteFrame(a, 1, null);
- this._frames.push(b);
- this._totalDelayUnits++
- },
- addSpriteFrameWithFile: function (a) {
- a = cc.textureCache.addImage(a);
- var b = cc.rect(0, 0, 0, 0);
- b.width = a.width;
- b.height = a.height;
- a = cc.SpriteFrame.create(a, b);
- this.addSpriteFrame(a)
- },
- addSpriteFrameWithTexture: function (a, b) {
- var c = cc.SpriteFrame.create(a, b);
- this.addSpriteFrame(c)
- },
- initWithAnimationFrames: function (a, b, c) {
- cc.arrayVerifyType(a, cc.AnimationFrame);
- this._delayPerUnit = b;
- this._loops = void 0 === c ? 1 : c;
- this._totalDelayUnits = 0;
- b = this._frames;
- for (c = b.length = 0; c < a.length; c++) {
- var d = a[c];
- b.push(d);
- this._totalDelayUnits += d.getDelayUnits()
- }
- return !0
- },
- clone: function () {
- var a = new cc.Animation;
- a.initWithAnimationFrames(this._copyFrames(), this._delayPerUnit, this._loops);
- a.setRestoreOriginalFrame(this._restoreOriginalFrame);
- return a
- },
- copyWithZone: function (a) {
- a = new cc.Animation;
- a.initWithAnimationFrames(this._copyFrames(), this._delayPerUnit, this._loops);
- a.setRestoreOriginalFrame(this._restoreOriginalFrame);
- return a
- },
- _copyFrames: function () {
- for (var a = [], b = 0; b < this._frames.length; b++) a.push(this._frames[b].clone());
- return a
- },
- copy: function (a) {
- return this.copyWithZone(null)
- },
- getLoops: function () {
- return this._loops
- },
- setLoops: function (a) {
- this._loops = a
- },
- setRestoreOriginalFrame: function (a) {
- this._restoreOriginalFrame = a
- },
- getRestoreOriginalFrame: function () {
- return this._restoreOriginalFrame
- },
- getDuration: function () {
- return this._totalDelayUnits * this._delayPerUnit
- },
- getDelayPerUnit: function () {
- return this._delayPerUnit
- },
- setDelayPerUnit: function (a) {
- this._delayPerUnit = a
- },
- getTotalDelayUnits: function () {
- return this._totalDelayUnits
- },
- initWithSpriteFrames: function (a, b, c) {
- cc.arrayVerifyType(a, cc.SpriteFrame);
- this._loops = void 0 === c ? 1 : c;
- this._delayPerUnit = b || 0;
- this._totalDelayUnits = 0;
- b = this._frames;
- b.length = 0;
- if (a) {
- for (c = 0; c < a.length; c++) {
- var d = a[c],
- e = new cc.AnimationFrame;
- e.initWithSpriteFrame(d, 1, null);
- b.push(e)
- }
- this._totalDelayUnits += a.length
- }
- return !0
- },
- retain: function () { },
- release: function () { }
- });
- cc.Animation.create = function (a, b, c) {
- return new cc.Animation(a, b, c)
- };
- cc.Animation.createWithAnimationFrames = cc.Animation.create;
- cc.animationCache = {
- _animations: {},
- addAnimation: function (a, b) {
- this._animations[b] = a
- },
- removeAnimation: function (a) {
- a && this._animations[a] && delete this._animations[a]
- },
- getAnimation: function (a) {
- return this._animations[a] ? this._animations[a] : null
- },
- _addAnimationsWithDictionary: function (a, b) {
- var c = a.animations;
- if (c) {
- var d = 1,
- e = a.properties;
- if (e) for (var d = null != e.format ? parseInt(e.format) : d, e = e.spritesheets, f = cc.spriteFrameCache, g = cc.path, h = 0; h < e.length; h++) f.addSpriteFrames(g.changeBasename(b, e[h]));
- switch (d) {
- case 1:
- this._parseVersion1(c);
- break;
- case 2:
- this._parseVersion2(c);
- break;
- default:
- cc.log(cc._LogInfos.animationCache__addAnimationsWithDictionary_2)
- }
- } else cc.log(cc._LogInfos.animationCache__addAnimationsWithDictionary)
- },
- addAnimations: function (a) {
- cc.assert(a, cc._LogInfos.animationCache_addAnimations_2);
- var b = cc.loader.getRes(a);
- b ? this._addAnimationsWithDictionary(b, a) : cc.log(cc._LogInfos.animationCache_addAnimations)
- },
- _parseVersion1: function (a) {
- var b = cc.spriteFrameCache,
- c;
- for (c in a) {
- var d = a[c],
- e = d.frames,
- d = parseFloat(d.delay) || 0,
- f = null;
- if (e) {
- for (var f = [], g = 0; g < e.length; g++) {
- var h = b.getSpriteFrame(e[g]);
- if (h) {
- var k = new cc.AnimationFrame;
- k.initWithSpriteFrame(h, 1, null);
- f.push(k)
- } else cc.log(cc._LogInfos.animationCache__parseVersion1_2, c, e[g])
- }
- 0 === f.length ? cc.log(cc._LogInfos.animationCache__parseVersion1_3, c) : (f.length != e.length && cc.log(cc._LogInfos.animationCache__parseVersion1_4, c), f = cc.Animation.create(f, d, 1), cc.animationCache.addAnimation(f, c))
- } else cc.log(cc._LogInfos.animationCache__parseVersion1, c)
- }
- },
- _parseVersion2: function (a) {
- var b = cc.spriteFrameCache,
- c;
- for (c in a) {
- var d = a[c],
- e = d.loop,
- f = parseInt(d.loops),
- e = e ? cc.REPEAT_FOREVER : isNaN(f) ? 1 : f,
- f = d.restoreOriginalFrame && !0 == d.restoreOriginalFrame ? !0 : !1,
- g = d.frames;
- if (g) {
- for (var h = [], k = 0; k < g.length; k++) {
- var m = g[k],
- n = m.spriteframe,
- q = b.getSpriteFrame(n);
- if (q) {
- var n = parseFloat(m.delayUnits) || 0,
- m = m.notification,
- r = new cc.AnimationFrame;
- r.initWithSpriteFrame(q, n, m);
- h.push(r)
- } else cc.log(cc._LogInfos.animationCache__parseVersion2_2, c, n)
- }
- d = parseFloat(d.delayPerUnit) || 0;
- g = new cc.Animation;
- g.initWithAnimationFrames(h, d, e);
- g.setRestoreOriginalFrame(f);
- cc.animationCache.addAnimation(g, c)
- } else cc.log(cc._LogInfos.animationCache__parseVersion2, c)
- }
- },
- _clear: function () {
- this._animations = {}
- }
- };
- cc.SpriteFrame = cc.Class.extend({
- _offset: null,
- _originalSize: null,
- _rectInPixels: null,
- _rotated: !1,
- _rect: null,
- _offsetInPixels: null,
- _originalSizeInPixels: null,
- _texture: null,
- _textureFilename: "",
- _textureLoaded: !1,
- _eventListeners: null,
- ctor: function (a, b, c, d, e) {
- this._offset = cc.p(0, 0);
- this._offsetInPixels = cc.p(0, 0);
- this._originalSize = cc.size(0, 0);
- this._rotated = !1;
- this._originalSizeInPixels = cc.size(0, 0);
- this._textureFilename = "";
- this._texture = null;
- this._textureLoaded = !1;
- void 0 !== a && void 0 !== b && (void 0 === c || void 0 === d || void 0 === e ? this.initWithTexture(a, b) : this.initWithTexture(a, b, c, d, e))
- },
- textureLoaded: function () {
- return this._textureLoaded
- },
- addLoadedEventListener: function (a, b) {
- null == this._eventListeners && (this._eventListeners = []);
- this._eventListeners.push({
- eventCallback: a,
- eventTarget: b
- })
- },
- _callLoadedEventCallbacks: function () {
- var a = this._eventListeners;
- if (a) {
- for (var b = 0, c = a.length; b < c; b++) {
- var d = a[b];
- d.eventCallback.call(d.eventTarget, this)
- }
- a.length = 0
- }
- },
- getRectInPixels: function () {
- var a = this._rectInPixels;
- return cc.rect(a.x, a.y, a.width, a.height)
- },
- setRectInPixels: function (a) {
- this._rectInPixels || (this._rectInPixels = cc.rect(0, 0, 0, 0));
- this._rectInPixels.x = a.x;
- this._rectInPixels.y = a.y;
- this._rectInPixels.width = a.width;
- this._rectInPixels.height = a.height;
- this._rect = cc.rectPixelsToPoints(a)
- },
- isRotated: function () {
- return this._rotated
- },
- setRotated: function (a) {
- this._rotated = a
- },
- getRect: function () {
- var a = this._rect;
- return cc.rect(a.x, a.y, a.width, a.height)
- },
- setRect: function (a) {
- this._rect || (this._rect = cc.rect(0, 0, 0, 0));
- this._rect.x = a.x;
- this._rect.y = a.y;
- this._rect.width = a.width;
- this._rect.height = a.height;
- this._rectInPixels = cc.rectPointsToPixels(this._rect)
- },
- getOffsetInPixels: function () {
- return cc.p(this._offsetInPixels)
- },
- setOffsetInPixels: function (a) {
- this._offsetInPixels.x = a.x;
- this._offsetInPixels.y = a.y;
- cc._pointPixelsToPointsOut(this._offsetInPixels, this._offset)
- },
- getOriginalSizeInPixels: function () {
- return cc.size(this._originalSizeInPixels)
- },
- setOriginalSizeInPixels: function (a) {
- this._originalSizeInPixels.width = a.width;
- this._originalSizeInPixels.height = a.height
- },
- getOriginalSize: function () {
- return cc.size(this._originalSize)
- },
- setOriginalSize: function (a) {
- this._originalSize.width = a.width;
- this._originalSize.height = a.height
- },
- getTexture: function () {
- if (this._texture) return this._texture;
- if ("" !== this._textureFilename) {
- var a = cc.textureCache.addImage(this._textureFilename);
- a && (this._textureLoaded = a.isLoaded());
- return a
- }
- return null
- },
- setTexture: function (a) {
- if (this._texture != a) {
- var b = a.isLoaded();
- this._textureLoaded = b;
- this._texture = a;
- b || a.addLoadedEventListener(function (a) {
- this._textureLoaded = !0;
- if (this._rotated && cc._renderType === cc._RENDER_TYPE_CANVAS) {
- var b = a.getHtmlElementObj(),
- b = cc.cutRotateImageToCanvas(b, this.getRect()),
- e = new cc.Texture2D;
- e.initWithElement(b);
- e.handleLoadedTexture();
- this.setTexture(e);
- b = this.getRect();
- this.setRect(cc.rect(0, 0, b.width, b.height))
- }
- b = this._rect;
- 0 === b.width && 0 === b.height && (b = a.width, a = a.height, this._rect.width = b, this._rect.height = a, this._rectInPixels = cc.rectPointsToPixels(this._rect), this._originalSizeInPixels.width = this._rectInPixels.width, this._originalSizeInPixels.height = this._rectInPixels.height, this._originalSize.width = b, this._originalSize.height = a);
- this._callLoadedEventCallbacks()
- },
- this)
- }
- },
- getOffset: function () {
- return cc.p(this._offset)
- },
- setOffset: function (a) {
- this._offset.x = a.x;
- this._offset.y = a.y
- },
- clone: function () {
- var a = new cc.SpriteFrame;
- a.initWithTexture(this._textureFilename, this._rectInPixels, this._rotated, this._offsetInPixels, this._originalSizeInPixels);
- a.setTexture(this._texture);
- return a
- },
- copyWithZone: function () {
- var a = new cc.SpriteFrame;
- a.initWithTexture(this._textureFilename, this._rectInPixels, this._rotated, this._offsetInPixels, this._originalSizeInPixels);
- a.setTexture(this._texture);
- return a
- },
- copy: function () {
- return this.copyWithZone()
- },
- initWithTexture: function (a, b, c, d, e) {
- 2 === arguments.length && (b = cc.rectPointsToPixels(b));
- d = d || cc.p(0, 0);
- e = e || b;
- c = c || !1;
- cc.isString(a) ? (this._texture = null, this._textureFilename = a) : a instanceof cc.Texture2D && this.setTexture(a);
- a = this.getTexture();
- this._rectInPixels = b;
- b = this._rect = cc.rectPixelsToPoints(b);
- if (a && a.url && a.isLoaded()) {
- var f,
- g;
- c ? (f = b.x + b.height, g = b.y + b.width) : (f = b.x + b.width, g = b.y + b.height);
- f > a.getPixelsWide() && cc.error(cc._LogInfos.RectWidth, a.url);
- g > a.getPixelsHigh() && cc.error(cc._LogInfos.RectHeight, a.url)
- }
- this._offsetInPixels.x = d.x;
- this._offsetInPixels.y = d.y;
- cc._pointPixelsToPointsOut(d, this._offset);
- this._originalSizeInPixels.width = e.width;
- this._originalSizeInPixels.height = e.height;
- cc._sizePixelsToPointsOut(e, this._originalSize);
- this._rotated = c;
- return !0
- }
- });
- cc.SpriteFrame.create = function (a, b, c, d, e) {
- return new cc.SpriteFrame(a, b, c, d, e)
- };
- cc.SpriteFrame.createWithTexture = cc.SpriteFrame.create;
- cc.SpriteFrame._frameWithTextureForCanvas = function (a, b, c, d, e) {
- var f = new cc.SpriteFrame;
- f._texture = a;
- f._rectInPixels = b;
- f._rect = cc.rectPixelsToPoints(b);
- f._offsetInPixels.x = d.x;
- f._offsetInPixels.y = d.y;
- cc._pointPixelsToPointsOut(f._offsetInPixels, f._offset);
- f._originalSizeInPixels.width = e.width;
- f._originalSizeInPixels.height = e.height;
- cc._sizePixelsToPointsOut(f._originalSizeInPixels, f._originalSize);
- f._rotated = c;
- return f
- };
- cc.spriteFrameCache = {
- _CCNS_REG1: /^\s*\{\s*([\-]?\d+[.]?\d*)\s*,\s*([\-]?\d+[.]?\d*)\s*\}\s*$/,
- _CCNS_REG2: /^\s*\{\s*\{\s*([\-]?\d+[.]?\d*)\s*,\s*([\-]?\d+[.]?\d*)\s*\}\s*,\s*\{\s*([\-]?\d+[.]?\d*)\s*,\s*([\-]?\d+[.]?\d*)\s*\}\s*\}\s*$/,
- _spriteFrames: {},
- _spriteFramesAliases: {},
- _frameConfigCache: {},
- _rectFromString: function (a) {
- return (a = this._CCNS_REG2.exec(a)) ? cc.rect(parseFloat(a[1]), parseFloat(a[2]), parseFloat(a[3]), parseFloat(a[4])) : cc.rect(0, 0, 0, 0)
- },
- _pointFromString: function (a) {
- return (a = this._CCNS_REG1.exec(a)) ? cc.p(parseFloat(a[1]), parseFloat(a[2])) : cc.p(0, 0)
- },
- _sizeFromString: function (a) {
- return (a = this._CCNS_REG1.exec(a)) ? cc.size(parseFloat(a[1]), parseFloat(a[2])) : cc.size(0, 0)
- },
- _getFrameConfig: function (a) {
- var b = cc.loader.getRes(a);
- cc.assert(b, cc._LogInfos.spriteFrameCache__getFrameConfig_2, a);
- cc.loader.release(a);
- if (b._inited) return this._frameConfigCache[a] = b;
- var c = b.frames,
- d = b.metadata || b.meta,
- b = {},
- e = {},
- f = 0;
- d && (f = d.format, f = 1 >= f.length ? parseInt(f) : f, e.image = d.textureFileName || d.textureFileName || d.image);
- for (var g in c) {
- var h = c[g];
- if (h) {
- d = {};
- if (0 == f) {
- d.rect = cc.rect(h.x, h.y, h.width, h.height);
- d.rotated = !1;
- d.offset = cc.p(h.offsetX, h.offsetY);
- var k = h.originalWidth,
- h = h.originalHeight;
- k && h || cc.log(cc._LogInfos.spriteFrameCache__getFrameConfig);
- k = Math.abs(k);
- h = Math.abs(h);
- d.size = cc.size(k, h)
- } else if (1 == f || 2 == f) d.rect = this._rectFromString(h.frame),
- d.rotated = h.rotated || !1,
- d.offset = this._pointFromString(h.offset),
- d.size = this._sizeFromString(h.sourceSize);
- else if (3 == f) {
- var k = this._sizeFromString(h.spriteSize),
- m = this._rectFromString(h.textureRect);
- k && (m = cc.rect(m.x, m.y, k.width, k.height));
- d.rect = m;
- d.rotated = h.textureRotated || !1;
- d.offset = this._pointFromString(h.spriteOffset);
- d.size = this._sizeFromString(h.spriteSourceSize);
- d.aliases = h.aliases
- } else k = h.frame,
- m = h.sourceSize,
- g = h.filename || g,
- d.rect = cc.rect(k.x, k.y, k.w, k.h),
- d.rotated = h.rotated || !1,
- d.offset = cc.p(0, 0),
- d.size = cc.size(m.w, m.h);
- b[g] = d
- }
- }
- return this._frameConfigCache[a] = {
- _inited: !0,
- frames: b,
- meta: e
- }
- },
- addSpriteFrames: function (a, b) {
- cc.assert(a, cc._LogInfos.spriteFrameCache_addSpriteFrames_2);
- var c = this._frameConfigCache[a] || cc.loader.getRes(a);
- if (c && c.frames) {
- var d = this._frameConfigCache[a] || this._getFrameConfig(a),
- c = d.frames,
- d = d.meta;
- b ? b instanceof cc.Texture2D || (cc.isString(b) ? b = cc.textureCache.addImage(b) : cc.assert(0, cc._LogInfos.spriteFrameCache_addSpriteFrames_3)) : (d = cc.path.changeBasename(a, d.image || ".png"), b = cc.textureCache.addImage(d));
- var d = this._spriteFramesAliases,
- e = this._spriteFrames,
- f;
- for (f in c) {
- var g = c[f],
- h = e[f];
- if (!h) {
- h = cc.SpriteFrame.create(b, g.rect, g.rotated, g.offset, g.size);
- if (g = g.aliases) for (var k = 0, m = g.length; k < m; k++) {
- var n = g[k];
- d[n] && cc.log(cc._LogInfos.spriteFrameCache_addSpriteFrames, n);
- d[n] = f
- }
- cc._renderType === cc._RENDER_TYPE_CANVAS && h.isRotated() && h.getTexture().isLoaded() && (g = h.getTexture().getHtmlElementObj(), g = cc.cutRotateImageToCanvas(g, h.getRectInPixels()), k = new cc.Texture2D, k.initWithElement(g), k.handleLoadedTexture(), h.setTexture(k), g = h._rect, h.setRect(cc.rect(0, 0, g.width, g.height)));
- e[f] = h
- }
- }
- }
- },
- _checkConflict: function (a) {
- a = a.frames;
- for (var b in a) this._spriteFrames[b] && cc.log(cc._LogInfos.spriteFrameCache__checkConflict, b)
- },
- addSpriteFrame: function (a, b) {
- this._spriteFrames[b] = a
- },
- removeSpriteFrames: function () {
- this._spriteFrames = {};
- this._spriteFramesAliases = {}
- },
- removeSpriteFrameByName: function (a) {
- a && (this._spriteFramesAliases[a] && delete this._spriteFramesAliases[a], this._spriteFrames[a] && delete this._spriteFrames[a])
- },
- removeSpriteFramesFromFile: function (a) {
- var b = this._spriteFrames,
- c = this._spriteFramesAliases;
- if (a = this._frameConfigCache[a]) {
- a = a.frames;
- for (var d in a) if (b[d]) {
- delete b[d];
- for (var e in c) c[e] == d && delete c[e]
- }
- }
- },
- removeSpriteFramesFromTexture: function (a) {
- var b = this._spriteFrames,
- c = this._spriteFramesAliases,
- d;
- for (d in b) {
- var e = b[d];
- if (e && e.getTexture() == a) {
- delete b[d];
- for (var f in c) c[f] == d && delete c[f]
- }
- }
- },
- getSpriteFrame: function (a) {
- var b = this._spriteFrames[a];
- if (!b) {
- var c = this._spriteFramesAliases[a];
- c && ((b = this._spriteFrames[c.toString()]) || delete this._spriteFramesAliases[a])
- }
- b || cc.log(cc._LogInfos.spriteFrameCache_getSpriteFrame, a);
- return b
- },
- _clear: function () {
- this._spriteFrames = {};
- this._spriteFramesAliases = {};
- this._frameConfigCache = {}
- }
- };
- cc.configuration = {
- ERROR: 0,
- STRING: 1,
- INT: 2,
- DOUBLE: 3,
- BOOLEAN: 4,
- _maxTextureSize: 0,
- _maxModelviewStackDepth: 0,
- _supportsPVRTC: !1,
- _supportsNPOT: !1,
- _supportsBGRA8888: !1,
- _supportsDiscardFramebuffer: !1,
- _supportsShareableVAO: !1,
- _maxSamplesAllowed: 0,
- _maxTextureUnits: 0,
- _GlExtensions: "",
- _valueDict: {},
- _inited: !1,
- _init: function () {
- var a = this._valueDict;
- a["cocos2d.x.version"] = cc.ENGINE_VERSION;
- a["cocos2d.x.compiled_with_profiler"] = !1;
- a["cocos2d.x.compiled_with_gl_state_cache"] = cc.ENABLE_GL_STATE_CACHE;
- this._inited = !0
- },
- getMaxTextureSize: function () {
- return this._maxTextureSize
- },
- getMaxModelviewStackDepth: function () {
- return this._maxModelviewStackDepth
- },
- getMaxTextureUnits: function () {
- return this._maxTextureUnits
- },
- supportsNPOT: function () {
- return this._supportsNPOT
- },
- supportsPVRTC: function () {
- return this._supportsPVRTC
- },
- supportsETC: function () {
- return !1
- },
- supportsS3TC: function () {
- return !1
- },
- supportsATITC: function () {
- return !1
- },
- supportsBGRA8888: function () {
- return this._supportsBGRA8888
- },
- supportsDiscardFramebuffer: function () {
- return this._supportsDiscardFramebuffer
- },
- supportsShareableVAO: function () {
- return this._supportsShareableVAO
- },
- checkForGLExtension: function (a) {
- return -1 < this._GlExtensions.indexOf(a)
- },
- getValue: function (a, b) {
- this._inited || this._init();
- var c = this._valueDict;
- return c[a] ? c[a] : b
- },
- setValue: function (a, b) {
- this._valueDict[a] = b
- },
- dumpInfo: function () {
- 0 === cc.ENABLE_GL_STATE_CACHE && (cc.log(""), cc.log(cc._LogInfos.configuration_dumpInfo), cc.log(""))
- },
- gatherGPUInfo: function () {
- if (cc._renderType !== cc._RENDER_TYPE_CANVAS) {
- this._inited || this._init();
- var a = cc._renderContext,
- b = this._valueDict;
- b["gl.vendor"] = a.getParameter(a.VENDOR);
- b["gl.renderer"] = a.getParameter(a.RENDERER);
- b["gl.version"] = a.getParameter(a.VERSION);
- this._GlExtensions = "";
- for (var c = a.getSupportedExtensions(), d = 0; d < c.length; d++) this._GlExtensions += c[d] + " ";
- this._maxTextureSize = a.getParameter(a.MAX_TEXTURE_SIZE);
- b["gl.max_texture_size"] = this._maxTextureSize;
- this._maxTextureUnits = a.getParameter(a.MAX_COMBINED_TEXTURE_IMAGE_UNITS);
- b["gl.max_texture_units"] = this._maxTextureUnits;
- this._supportsPVRTC = this.checkForGLExtension("GL_IMG_texture_compression_pvrtc");
- b["gl.supports_PVRTC"] = this._supportsPVRTC;
- this._supportsNPOT = !1;
- b["gl.supports_NPOT"] = this._supportsNPOT;
- this._supportsBGRA8888 = this.checkForGLExtension("GL_IMG_texture_format_BGRA888");
- b["gl.supports_BGRA8888"] = this._supportsBGRA8888;
- this._supportsDiscardFramebuffer = this.checkForGLExtension("GL_EXT_discard_framebuffer");
- b["gl.supports_discard_framebuffer"] = this._supportsDiscardFramebuffer;
- this._supportsShareableVAO = this.checkForGLExtension("vertex_array_object");
- b["gl.supports_vertex_array_object"] = this._supportsShareableVAO;
- cc.checkGLErrorDebug()
- }
- },
- loadConfigFile: function (a) {
- this._inited || this._init();
- var b = cc.loader.getRes(a);
- if (!b) throw "Please load the resource first : " + a;
- cc.assert(b, cc._LogInfos.configuration_loadConfigFile_2, a);
- if (b = b.data) for (var c in b) this._valueDict[c] = b[c];
- else cc.log(cc._LogInfos.configuration_loadConfigFile, a)
- }
- };
- cc._tmp.DirectorWebGL = function () {
- cc.DirectorDelegate = cc.Class.extend({
- updateProjection: function () { }
- });
- var a = cc.Director.prototype;
- a.setProjection = function (a) {
- var c = this._winSizeInPoints;
- this.setViewport();
- var d = this._openGLView,
- e = d._viewPortRect.x / d._scaleX,
- f = d._viewPortRect.y / d._scaleY;
- switch (a) {
- case cc.Director.PROJECTION_2D:
- cc.kmGLMatrixMode(cc.KM_GL_PROJECTION);
- cc.kmGLLoadIdentity();
- d = new cc.kmMat4;
- cc.kmMat4OrthographicProjection(d, 0, c.width, 0, c.height, -1024, 1024);
- cc.kmGLMultMatrix(d);
- cc.kmGLMatrixMode(cc.KM_GL_MODELVIEW);
- cc.kmGLLoadIdentity();
- break;
- case cc.Director.PROJECTION_3D:
- var g = this.getZEye(),
- h = new cc.kmMat4,
- d = new cc.kmMat4;
- cc.kmGLMatrixMode(cc.KM_GL_PROJECTION);
- cc.kmGLLoadIdentity();
- cc.kmMat4PerspectiveProjection(h, 60, c.width / c.height, 0.1, 2 * g);
- cc.kmGLMultMatrix(h);
- cc.kmGLMatrixMode(cc.KM_GL_MODELVIEW);
- cc.kmGLLoadIdentity();
- g = cc.kmVec3Fill(null, -e + c.width / 2, -f + c.height / 2, g);
- c = cc.kmVec3Fill(null, -e + c.width / 2, -f + c.height / 2, 0);
- e = cc.kmVec3Fill(null, 0, 1, 0);
- cc.kmMat4LookAt(d, g, c, e);
- cc.kmGLMultMatrix(d);
- break;
- case cc.Director.PROJECTION_CUSTOM:
- this._projectionDelegate && this._projectionDelegate.updateProjection();
- break;
- default:
- cc.log(cc._LogInfos.Director_setProjection)
- }
- this._projection = a;
- cc.eventManager.dispatchEvent(this._eventProjectionChanged);
- cc.setProjectionMatrixDirty()
- };
- a.setDepthTest = function (a) {
- var c = cc._renderContext;
- a ? (c.clearDepth(1), c.enable(c.DEPTH_TEST), c.depthFunc(c.LEQUAL)) : c.disable(c.DEPTH_TEST)
- };
- a.setOpenGLView = function (a) {
- this._winSizeInPoints.width = cc._canvas.width;
- this._winSizeInPoints.height = cc._canvas.height;
- this._openGLView = a || cc.view;
- a = cc.configuration;
- a.gatherGPUInfo();
- a.dumpInfo();
- this._createStatsLabel();
- this.setGLDefaultValues();
- cc.eventManager && cc.eventManager.setEnabled(!0)
- };
- a._clear = function () {
- var a = cc._renderContext;
- a.clear(a.COLOR_BUFFER_BIT | a.DEPTH_BUFFER_BIT)
- };
- a._beforeVisitScene = function () {
- cc.kmGLPushMatrix()
- };
- a._afterVisitScene = function () {
- cc.kmGLPopMatrix()
- };
- a._createStatsLabel = function () {
- if (!cc.LabelAtlas) this._createStatsLabelForCanvas();
- else if (null != cc.Director._fpsImageLoaded && !1 != cc.Director._fpsImageLoaded) {
- var a = new cc.Texture2D;
- a.initWithElement(cc.Director._fpsImage);
- a.handleLoadedTexture();
- var c = cc.view.getDesignResolutionSize().height / 320;
- 0 === c && (c = this._winSizeInPoints.height / 320);
- var d = new cc.LabelAtlas;
- d._setIgnoreContentScaleFactor(!0);
- d.initWithString("00.0", a, 12, 32, ".");
- d.scale = c;
- this._FPSLabel = d;
- d = new cc.LabelAtlas;
- d._setIgnoreContentScaleFactor(!0);
- d.initWithString("0.000", a, 12, 32, ".");
- d.scale = c;
- this._SPFLabel = d;
- d = new cc.LabelAtlas;
- d._setIgnoreContentScaleFactor(!0);
- d.initWithString("000", a, 12, 32, ".");
- d.scale = c;
- this._drawsLabel = d;
- a = cc.DIRECTOR_STATS_POSITION;
- this._drawsLabel.setPosition(a.x, 34 * c + a.y);
- this._SPFLabel.setPosition(a.x, 17 * c + a.y);
- this._FPSLabel.setPosition(a)
- }
- };
- a._createStatsLabelForCanvas = function () {
- var a = 0,
- a = this._winSizeInPoints.width > this._winSizeInPoints.height ? 0 | this._winSizeInPoints.height / 320 * 24 : 0 | this._winSizeInPoints.width / 320 * 24;
- this._FPSLabel = cc.LabelTTF.create("000.0", "Arial", a);
- this._SPFLabel = cc.LabelTTF.create("0.000", "Arial", a);
- this._drawsLabel = cc.LabelTTF.create("0000", "Arial", a);
- a = cc.DIRECTOR_STATS_POSITION;
- this._drawsLabel.setPosition(this._drawsLabel.width / 2 + a.x, 5 * this._drawsLabel.height / 2 + a.y);
- this._SPFLabel.setPosition(this._SPFLabel.width / 2 + a.x, 3 * this._SPFLabel.height / 2 + a.y);
- this._FPSLabel.setPosition(this._FPSLabel.width / 2 + a.x, this._FPSLabel.height / 2 + a.y)
- };
- a.convertToGL = function (a) {
- var c = new cc.kmMat4;
- cc.GLToClipTransform(c);
- var d = new cc.kmMat4;
- cc.kmMat4Inverse(d, c);
- var c = c.mat[14] / c.mat[15],
- e = this._openGLView.getDesignResolutionSize();
- a = new cc.kmVec3(2 * a.x / e.width - 1, 1 - 2 * a.y / e.height, c);
- c = new cc.kmVec3;
- cc.kmVec3TransformCoord(c, a, d);
- return cc.p(c.x, c.y)
- };
- a.convertToUI = function (a) {
- var c = new cc.kmMat4;
- cc.GLToClipTransform(c);
- var d = new cc.kmVec3;
- a = new cc.kmVec3(a.x, a.y, 0);
- cc.kmVec3TransformCoord(d, a, c);
- c = this._openGLView.getDesignResolutionSize();
- return cc.p(c.width * (0.5 * d.x + 0.5), c.height * (0.5 * -d.y + 0.5))
- };
- a.getVisibleSize = function () {
- return this._openGLView.getVisibleSize()
- };
- a.getVisibleOrigin = function () {
- return this._openGLView.getVisibleOrigin()
- };
- a.getZEye = function () {
- return this._winSizeInPoints.height / 1.1566
- };
- a.setViewport = function () {
- var a = this._openGLView;
- if (a) {
- var c = this._winSizeInPoints;
- a.setViewPortInPoints(-a._viewPortRect.x / a._scaleX, -a._viewPortRect.y / a._scaleY, c.width, c.height)
- }
- };
- a.getOpenGLView = function () {
- return this._openGLView
- };
- a.getProjection = function () {
- return this._projection
- };
- a.setAlphaBlending = function (a) {
- a ? cc.glBlendFunc(cc.BLEND_SRC, cc.BLEND_DST) : cc.glBlendFunc(cc._renderContext.ONE, cc._renderContext.ZERO)
- };
- a.setGLDefaultValues = function () {
- this.setAlphaBlending(!0);
- this.setDepthTest(!1);
- this.setProjection(this._projection);
- cc._renderContext.clearColor(0, 0, 0, 1)
- }
- };
- cc.g_NumberOfDraws = 0;
- cc.GLToClipTransform = function (a) {
- var b = new cc.kmMat4;
- cc.kmGLGetMatrix(cc.KM_GL_PROJECTION, b);
- var c = new cc.kmMat4;
- cc.kmGLGetMatrix(cc.KM_GL_MODELVIEW, c);
- cc.kmMat4Multiply(a, b, c)
- };
- cc.Director = cc.Class.extend({
- _landscape: !1,
- _nextDeltaTimeZero: !1,
- _paused: !1,
- _purgeDirectorInNextLoop: !1,
- _sendCleanupToScene: !1,
- _animationInterval: 0,
- _oldAnimationInterval: 0,
- _projection: 0,
- _accumDt: 0,
- _contentScaleFactor: 1,
- _displayStats: !1,
- _deltaTime: 0,
- _frameRate: 0,
- _FPSLabel: null,
- _SPFLabel: null,
- _drawsLabel: null,
- _winSizeInPoints: null,
- _lastUpdate: null,
- _nextScene: null,
- _notificationNode: null,
- _openGLView: null,
- _scenesStack: null,
- _projectionDelegate: null,
- _runningScene: null,
- _frames: 0,
- _totalFrames: 0,
- _secondsPerFrame: 0,
- _dirtyRegion: null,
- _scheduler: null,
- _actionManager: null,
- _eventProjectionChanged: null,
- _eventAfterDraw: null,
- _eventAfterVisit: null,
- _eventAfterUpdate: null,
- ctor: function () {
- var a = this;
- a._lastUpdate = Date.now();
- cc.eventManager.addCustomListener(cc.game.EVENT_SHOW,
- function () {
- a._lastUpdate = Date.now()
- })
- },
- init: function () {
- this._oldAnimationInterval = this._animationInterval = 1 / cc.defaultFPS;
- this._scenesStack = [];
- this._projection = cc.Director.PROJECTION_DEFAULT;
- this._projectionDelegate = null;
- this._frameRate = this._accumDt = 0;
- this._displayStats = !1;
- this._totalFrames = this._frames = 0;
- this._lastUpdate = Date.now();
- this._purgeDirectorInNextLoop = this._paused = !1;
- this._winSizeInPoints = cc.size(0, 0);
- this._openGLView = null;
- this._contentScaleFactor = 1;
- this._scheduler = new cc.Scheduler;
- this._actionManager = cc.ActionManager ? new cc.ActionManager : null;
- this._scheduler.scheduleUpdateForTarget(this._actionManager, cc.Scheduler.PRIORITY_SYSTEM, !1);
- this._eventAfterDraw = new cc.EventCustom(cc.Director.EVENT_AFTER_DRAW);
- this._eventAfterDraw.setUserData(this);
- this._eventAfterVisit = new cc.EventCustom(cc.Director.EVENT_AFTER_VISIT);
- this._eventAfterVisit.setUserData(this);
- this._eventAfterUpdate = new cc.EventCustom(cc.Director.EVENT_AFTER_UPDATE);
- this._eventAfterUpdate.setUserData(this);
- this._eventProjectionChanged = new cc.EventCustom(cc.Director.EVENT_PROJECTION_CHANGED);
- this._eventProjectionChanged.setUserData(this);
- return !0
- },
- calculateDeltaTime: function () {
- var a = Date.now();
- this._nextDeltaTimeZero ? (this._deltaTime = 0, this._nextDeltaTimeZero = !1) : this._deltaTime = (a - this._lastUpdate) / 1E3;
- 0 < cc.game.config[cc.game.CONFIG_KEY.debugMode] && 0.2 < this._deltaTime && (this._deltaTime = 1 / 60);
- this._lastUpdate = a
- },
- convertToGL: null,
- convertToUI: null,
- drawScene: function () {
- this.calculateDeltaTime();
- this._paused || (this._scheduler.update(this._deltaTime), cc.eventManager.dispatchEvent(this._eventAfterUpdate));
- this._clear();
- this._nextScene && this.setNextScene();
- this._beforeVisitScene && this._beforeVisitScene();
- this._runningScene && (this._runningScene.visit(), cc.eventManager.dispatchEvent(this._eventAfterVisit));
- this._notificationNode && this._notificationNode.visit();
- this._displayStats && this._showStats();
- this._afterVisitScene && this._afterVisitScene();
- cc.eventManager.dispatchEvent(this._eventAfterDraw);
- this._totalFrames++;
- this._displayStats && this._calculateMPF()
- },
- _beforeVisitScene: null,
- _afterVisitScene: null,
- end: function () {
- this._purgeDirectorInNextLoop = !0
- },
- getContentScaleFactor: function () {
- return this._contentScaleFactor
- },
- getNotificationNode: function () {
- return this._notificationNode
- },
- getWinSize: function () {
- return cc.size(this._winSizeInPoints)
- },
- getWinSizeInPixels: function () {
- return cc.size(this._winSizeInPoints.width * this._contentScaleFactor, this._winSizeInPoints.height * this._contentScaleFactor)
- },
- getVisibleSize: null,
- getVisibleOrigin: null,
- getZEye: null,
- pause: function () {
- this._paused || (this._oldAnimationInterval = this._animationInterval, this.setAnimationInterval(0.25), this._paused = !0)
- },
- popScene: function () {
- cc.assert(this._runningScene, cc._LogInfos.Director_popScene);
- this._scenesStack.pop();
- var a = this._scenesStack.length;
- 0 == a ? this.end() : (this._sendCleanupToScene = !0, this._nextScene = this._scenesStack[a - 1])
- },
- purgeCachedData: function () {
- cc.animationCache._clear();
- cc.spriteFrameCache._clear();
- cc.textureCache._clear()
- },
- purgeDirector: function () {
- this.getScheduler().unscheduleAllCallbacks();
- cc.eventManager && cc.eventManager.setEnabled(!1);
- this._runningScene && (this._runningScene.onExitTransitionDidStart(), this._runningScene.onExit(), this._runningScene.cleanup());
- this._nextScene = this._runningScene = null;
- this._scenesStack.length = 0;
- this.stopAnimation();
- this.purgeCachedData();
- cc.checkGLErrorDebug()
- },
- pushScene: function (a) {
- cc.assert(a, cc._LogInfos.Director_pushScene);
- this._sendCleanupToScene = !1;
- this._scenesStack.push(a);
- this._nextScene = a
- },
- runScene: function (a) {
- cc.assert(a, cc._LogInfos.Director_pushScene);
- if (this._runningScene) {
- var b = this._scenesStack.length;
- 0 === b ? (this._sendCleanupToScene = !0, this._scenesStack[b] = a) : (this._sendCleanupToScene = !0, this._scenesStack[b - 1] = a);
- this._nextScene = a
- } else this.pushScene(a),
- this.startAnimation()
- },
- resume: function () {
- this._paused && (this.setAnimationInterval(this._oldAnimationInterval), (this._lastUpdate = Date.now()) || cc.log(cc._LogInfos.Director_resume), this._paused = !1, this._deltaTime = 0)
- },
- setContentScaleFactor: function (a) {
- a != this._contentScaleFactor && (this._contentScaleFactor = a, this._createStatsLabel())
- },
- setDepthTest: null,
- setDefaultValues: function () { },
- setNextDeltaTimeZero: function (a) {
- this._nextDeltaTimeZero = a
- },
- setNextScene: function () {
- var a = !1,
- b = !1;
- cc.TransitionScene && (a = this._runningScene ? this._runningScene instanceof cc.TransitionScene : !1, b = this._nextScene ? this._nextScene instanceof
- cc.TransitionScene : !1);
- if (!b) {
- if (b = this._runningScene) b.onExitTransitionDidStart(),
- b.onExit();
- this._sendCleanupToScene && b && b.cleanup()
- }
- this._runningScene = this._nextScene;
- this._nextScene = null;
- a || null == this._runningScene || (this._runningScene.onEnter(), this._runningScene.onEnterTransitionDidFinish())
- },
- setNotificationNode: function (a) {
- this._notificationNode = a
- },
- getDelegate: function () {
- return this._projectionDelegate
- },
- setDelegate: function (a) {
- this._projectionDelegate = a
- },
- setOpenGLView: null,
- setProjection: null,
- setViewport: null,
- getOpenGLView: null,
- getProjection: null,
- setAlphaBlending: null,
- _showStats: function () {
- this._frames++;
- this._accumDt += this._deltaTime;
- this._FPSLabel && this._SPFLabel && this._drawsLabel ? (this._accumDt > cc.DIRECTOR_FPS_INTERVAL && (this._SPFLabel.string = this._secondsPerFrame.toFixed(3), this._frameRate = this._frames / this._accumDt, this._accumDt = this._frames = 0, this._FPSLabel.string = this._frameRate.toFixed(1), this._drawsLabel.string = (0 | cc.g_NumberOfDraws).toString()), this._FPSLabel.visit(), this._SPFLabel.visit(), this._drawsLabel.visit()) : this._createStatsLabel();
- cc.g_NumberOfDraws = 0
- },
- isSendCleanupToScene: function () {
- return this._sendCleanupToScene
- },
- getRunningScene: function () {
- return this._runningScene
- },
- getAnimationInterval: function () {
- return this._animationInterval
- },
- isDisplayStats: function () {
- return this._displayStats
- },
- setDisplayStats: function (a) {
- this._displayStats = a
- },
- getSecondsPerFrame: function () {
- return this._secondsPerFrame
- },
- isNextDeltaTimeZero: function () {
- return this._nextDeltaTimeZero
- },
- isPaused: function () {
- return this._paused
- },
- getTotalFrames: function () {
- return this._totalFrames
- },
- popToRootScene: function () {
- this.popToSceneStackLevel(1)
- },
- popToSceneStackLevel: function (a) {
- cc.assert(this._runningScene, cc._LogInfos.Director_popToSceneStackLevel_2);
- var b = this._scenesStack,
- c = b.length;
- if (0 == c) this.end();
- else if (!(a > c)) {
- for (; c > a;) {
- var d = b.pop();
- d.running && (d.onExitTransitionDidStart(), d.onExit());
- d.cleanup();
- c--
- }
- this._nextScene = b[b.length - 1];
- this._sendCleanupToScene = !1
- }
- },
- getScheduler: function () {
- return this._scheduler
- },
- setScheduler: function (a) {
- this._scheduler != a && (this._scheduler = a)
- },
- getActionManager: function () {
- return this._actionManager
- },
- setActionManager: function (a) {
- this._actionManager != a && (this._actionManager = a)
- },
- getDeltaTime: function () {
- return this._deltaTime
- },
- _createStatsLabel: null,
- _calculateMPF: function () {
- this._secondsPerFrame = (Date.now() - this._lastUpdate) / 1E3
- }
- });
- cc.Director.EVENT_PROJECTION_CHANGED = "director_projection_changed";
- cc.Director.EVENT_AFTER_DRAW = "director_after_draw";
- cc.Director.EVENT_AFTER_VISIT = "director_after_visit";
- cc.Director.EVENT_AFTER_UPDATE = "director_after_update";
- cc.DisplayLinkDirector = cc.Director.extend({
- invalid: !1,
- startAnimation: function () {
- this._nextDeltaTimeZero = !0;
- this.invalid = !1
- },
- mainLoop: function () {
- this._purgeDirectorInNextLoop ? (this._purgeDirectorInNextLoop = !1, this.purgeDirector()) : this.invalid || this.drawScene()
- },
- stopAnimation: function () {
- this.invalid = !0
- },
- setAnimationInterval: function (a) {
- this._animationInterval = a;
- this.invalid || (this.stopAnimation(), this.startAnimation())
- }
- });
- cc.Director.sharedDirector = null;
- cc.Director.firstUseDirector = !0;
- cc.Director._getInstance = function () {
- cc.Director.firstUseDirector && (cc.Director.firstUseDirector = !1, cc.Director.sharedDirector = new cc.DisplayLinkDirector, cc.Director.sharedDirector.init());
- return cc.Director.sharedDirector
- };
- cc.defaultFPS = 60;
- cc.Director.PROJECTION_2D = 0;
- cc.Director.PROJECTION_3D = 1;
- cc.Director.PROJECTION_CUSTOM = 3;
- cc.Director.PROJECTION_DEFAULT = cc.Director.PROJECTION_3D;
- cc._renderType === cc._RENDER_TYPE_CANVAS ? (_p = cc.Director.prototype, _p.setProjection = function (a) {
- this._projection = a;
- cc.eventManager.dispatchEvent(this._eventProjectionChanged)
- },
- _p.setDepthTest = function () { },
- _p.setOpenGLView = function (a) {
- this._winSizeInPoints.width = cc._canvas.width;
- this._winSizeInPoints.height = cc._canvas.height;
- this._openGLView = a || cc.view;
- cc.eventManager && cc.eventManager.setEnabled(!0)
- },
- _p._clear = function () {
- var a = this._openGLView.getViewPortRect();
- cc._renderContext.clearRect(-a.x, a.y, a.width, -a.height)
- },
- _p._createStatsLabel = function () {
- var a = 0,
- a = this._winSizeInPoints.width > this._winSizeInPoints.height ? 0 | this._winSizeInPoints.height / 320 * 24 : 0 | this._winSizeInPoints.width / 320 * 24;
- this._FPSLabel = cc.LabelTTF.create("000.0", "Arial", a);
- this._SPFLabel = cc.LabelTTF.create("0.000", "Arial", a);
- this._drawsLabel = cc.LabelTTF.create("0000", "Arial", a);
- a = cc.DIRECTOR_STATS_POSITION;
- this._drawsLabel.setPosition(this._drawsLabel.width / 2 + a.x, 5 * this._drawsLabel.height / 2 + a.y);
- this._SPFLabel.setPosition(this._SPFLabel.width / 2 + a.x, 3 * this._SPFLabel.height / 2 + a.y);
- this._FPSLabel.setPosition(this._FPSLabel.width / 2 + a.x, this._FPSLabel.height / 2 + a.y)
- },
- _p.getVisibleSize = function () {
- return this.getWinSize()
- },
- _p.getVisibleOrigin = function () {
- return cc.p(0, 0)
- }) : (cc.Director._fpsImage = new Image, cc._addEventListener(cc.Director._fpsImage, "load",
- function () {
- cc.Director._fpsImageLoaded = !0
- }), cc._fpsImage && (cc.Director._fpsImage.src = cc._fpsImage), cc.assert(cc.isFunction(cc._tmp.DirectorWebGL), cc._LogInfos.MissingFile, "CCDirectorWebGL.js"), cc._tmp.DirectorWebGL(), delete cc._tmp.DirectorWebGL);
- cc.Camera = cc.Class.extend({
- _eyeX: null,
- _eyeY: null,
- _eyeZ: null,
- _centerX: null,
- _centerY: null,
- _centerZ: null,
- _upX: null,
- _upY: null,
- _upZ: null,
- _dirty: null,
- _lookupMatrix: null,
- ctor: function () {
- this._lookupMatrix = new cc.kmMat4;
- this.restore()
- },
- description: function () {
- return "\x3cCCCamera | center \x3d(" + this._centerX + "," + this._centerY + "," + this._centerZ + ")\x3e"
- },
- setDirty: function (a) {
- this._dirty = a
- },
- isDirty: function () {
- return this._dirty
- },
- restore: function () {
- this._eyeX = this._eyeY = 0;
- this._eyeZ = cc.Camera.getZEye();
- this._upX = this._centerX = this._centerY = this._centerZ = 0;
- this._upY = 1;
- this._upZ = 0;
- cc.kmMat4Identity(this._lookupMatrix);
- this._dirty = !1
- },
- locate: function () {
- if (this._dirty) {
- var a = new cc.kmVec3,
- b = new cc.kmVec3,
- c = new cc.kmVec3;
- cc.kmVec3Fill(a, this._eyeX, this._eyeY, this._eyeZ);
- cc.kmVec3Fill(b, this._centerX, this._centerY, this._centerZ);
- cc.kmVec3Fill(c, this._upX, this._upY, this._upZ);
- cc.kmMat4LookAt(this._lookupMatrix, a, b, c);
- this._dirty = !1
- }
- cc.kmGLMultMatrix(this._lookupMatrix)
- },
- setEyeXYZ: function (a, b, c) {
- this.setEye(a, b, c)
- },
- setEye: function (a, b, c) {
- this._eyeX = a;
- this._eyeY = b;
- this._eyeZ = c;
- this._dirty = !0
- },
- setCenterXYZ: function (a, b, c) {
- this.setCenter(a, b, c)
- },
- setCenter: function (a, b, c) {
- this._centerX = a;
- this._centerY = b;
- this._centerZ = c;
- this._dirty = !0
- },
- setUpXYZ: function (a, b, c) {
- this.setUp(a, b, c)
- },
- setUp: function (a, b, c) {
- this._upX = a;
- this._upY = b;
- this._upZ = c;
- this._dirty = !0
- },
- getEyeXYZ: function (a, b, c) {
- return {
- x: this._eyeX,
- y: this._eyeY,
- z: this._eyeZ
- }
- },
- getEye: function () {
- return {
- x: this._eyeX,
- y: this._eyeY,
- z: this._eyeZ
- }
- },
- getCenterXYZ: function (a, b, c) {
- return {
- x: this._centerX,
- y: this._centerY,
- z: this._centerZ
- }
- },
- getCenter: function () {
- return {
- x: this._centerX,
- y: this._centerY,
- z: this._centerZ
- }
- },
- getUpXYZ: function (a, b, c) {
- return {
- x: this._upX,
- y: this._upY,
- z: this._upZ
- }
- },
- getUp: function () {
- return {
- x: this._upX,
- y: this._upY,
- z: this._upZ
- }
- },
- _DISALLOW_COPY_AND_ASSIGN: function (a) { }
- });
- cc.Camera.getZEye = function () {
- return cc.FLT_EPSILON
- };
- cc.PRIORITY_NON_SYSTEM = cc.PRIORITY_SYSTEM + 1;
- cc.ListEntry = function (a, b, c, d, e, f) {
- this.prev = a;
- this.next = b;
- this.target = c;
- this.priority = d;
- this.paused = e;
- this.markedForDeletion = f
- };
- cc.HashUpdateEntry = function (a, b, c, d) {
- this.list = a;
- this.entry = b;
- this.target = c;
- this.hh = d
- };
- cc.HashTimerEntry = function (a, b, c, d, e, f, g) {
- this.timers = a;
- this.target = b;
- this.timerIndex = c;
- this.currentTimer = d;
- this.currentTimerSalvaged = e;
- this.paused = f;
- this.hh = g
- };
- cc.Timer = cc.Class.extend({
- _interval: 0,
- _callback: null,
- _target: null,
- _elapsed: 0,
- _runForever: !1,
- _useDelay: !1,
- _timesExecuted: 0,
- _repeat: 0,
- _delay: 0,
- getInterval: function () {
- return this._interval
- },
- setInterval: function (a) {
- this._interval = a
- },
- getCallback: function () {
- return this._callback
- },
- ctor: function (a, b, c, d, e) {
- this._target = a;
- this._callback = b;
- this._elapsed = -1;
- this._interval = c || 0;
- this._delay = e || 0;
- this._useDelay = 0 < this._delay;
- this._repeat = null == d ? cc.REPEAT_FOREVER : d;
- this._runForever = this._repeat == cc.REPEAT_FOREVER
- },
- _doCallback: function () {
- if (cc.isString(this._callback)) this._target[this._callback](this._elapsed);
- else this._callback.call(this._target, this._elapsed)
- },
- update: function (a) {
- if (-1 == this._elapsed) this._timesExecuted = this._elapsed = 0;
- else {
- var b = this._target,
- c = this._callback;
- this._elapsed += a;
- this._runForever && !this._useDelay ? this._elapsed >= this._interval && (b && c && this._doCallback(), this._elapsed = 0) : (this._useDelay ? this._elapsed >= this._delay && (b && c && this._doCallback(), this._elapsed -= this._delay, this._timesExecuted += 1, this._useDelay = !1) : this._elapsed >= this._interval && (b && c && this._doCallback(), this._elapsed = 0, this._timesExecuted += 1), this._timesExecuted > this._repeat && cc.director.getScheduler().unscheduleCallbackForTarget(b, c))
- }
- }
- });
- cc.Scheduler = cc.Class.extend({
- _timeScale: 1,
- _updates: null,
- _hashForUpdates: null,
- _arrayForUpdates: null,
- _hashForTimers: null,
- _arrayForTimes: null,
- _currentTarget: null,
- _currentTargetSalvaged: !1,
- _updateHashLocked: !1,
- ctor: function () {
- this._timeScale = 1;
- this._updates = [[], [], []];
- this._hashForUpdates = {};
- this._arrayForUpdates = [];
- this._hashForTimers = {};
- this._arrayForTimers = [];
- this._currentTarget = null;
- this._updateHashLocked = this._currentTargetSalvaged = !1
- },
- _removeHashElement: function (a) {
- delete this._hashForTimers[a.target.__instanceId];
- cc.arrayRemoveObject(this._arrayForTimers, a);
- a.Timer = null;
- a.target = null
- },
- _removeUpdateFromHash: function (a) {
- if (a = this._hashForUpdates[a.target.__instanceId]) cc.arrayRemoveObject(a.list, a.entry),
- delete this._hashForUpdates[a.target.__instanceId],
- cc.arrayRemoveObject(this._arrayForUpdates, a),
- a.entry = null,
- a.target = null
- },
- _priorityIn: function (a, b, c, d) {
- d = new cc.ListEntry(null, null, b, c, d, !1);
- if (a) {
- for (var e = a.length - 1, f = 0; f <= e && !(c < a[f].priority) ; f++);
- a.splice(f, 0, d)
- } else a = [],
- a.push(d);
- c = new cc.HashUpdateEntry(a, d, b, null);
- this._arrayForUpdates.push(c);
- this._hashForUpdates[b.__instanceId] = c;
- return a
- },
- _appendIn: function (a, b, c) {
- c = new cc.ListEntry(null, null, b, 0, c, !1);
- a.push(c);
- a = new cc.HashUpdateEntry(a, c, b, null);
- this._arrayForUpdates.push(a);
- this._hashForUpdates[b.__instanceId] = a
- },
- setTimeScale: function (a) {
- this._timeScale = a
- },
- getTimeScale: function () {
- return this._timeScale
- },
- update: function (a) {
- var b = this._updates,
- c = this._arrayForTimers,
- d,
- e,
- f;
- this._updateHashLocked = !0;
- 1 != this._timeScale && (a *= this._timeScale);
- e = 0;
- for (f = b.length; e < f && 0 <= e; e++) for (var g = this._updates[e], h = 0, k = g.length; h < k; h++) d = g[h],
- d.paused || d.markedForDeletion || d.target.update(a);
- e = 0;
- for (f = c.length; e < f; e++) {
- d = c[e];
- if (!d) break;
- this._currentTarget = d;
- this._currentTargetSalvaged = !1;
- if (!d.paused) for (d.timerIndex = 0; d.timerIndex < d.timers.length; d.timerIndex++) d.currentTimer = d.timers[d.timerIndex],
- d.currentTimerSalvaged = !1,
- d.currentTimer.update(a),
- d.currentTimer = null;
- this._currentTargetSalvaged && 0 == d.timers.length && (this._removeHashElement(d), e--)
- }
- e = 0;
- for (f = b.length; e < f; e++) for (g = this._updates[e], h = 0, k = g.length; h < k;) {
- d = g[h];
- if (!d) break;
- d.markedForDeletion ? this._removeUpdateFromHash(d) : h++
- }
- this._updateHashLocked = !1;
- this._currentTarget = null
- },
- scheduleCallbackForTarget: function (a, b, c, d, e, f) {
- cc.assert(b, cc._LogInfos.Scheduler_scheduleCallbackForTarget_2);
- cc.assert(a, cc._LogInfos.Scheduler_scheduleCallbackForTarget_3);
- c = c || 0;
- d = null == d ? cc.REPEAT_FOREVER : d;
- e = e || 0;
- f = f || !1;
- var g = this._hashForTimers[a.__instanceId];
- g || (g = new cc.HashTimerEntry(null, a, 0, null, null, f, null), this._arrayForTimers.push(g), this._hashForTimers[a.__instanceId] = g);
- if (null == g.timers) g.timers = [];
- else for (var h = 0; h < g.timers.length; h++) if (f = g.timers[h], b == f._callback) {
- cc.log(cc._LogInfos.Scheduler_scheduleCallbackForTarget, f.getInterval().toFixed(4), c.toFixed(4));
- f._interval = c;
- return
- }
- f = new cc.Timer(a, b, c, d, e);
- g.timers.push(f)
- },
- scheduleUpdateForTarget: function (a, b, c) {
- if (null !== a) {
- var d = this._updates,
- e = this._hashForUpdates[a.__instanceId];
- e ? e.entry.markedForDeletion = !1 : 0 == b ? this._appendIn(d[1], a, c) : 0 > b ? d[0] = this._priorityIn(d[0], a, b, c) : d[2] = this._priorityIn(d[2], a, b, c)
- }
- },
- unscheduleCallbackForTarget: function (a, b) {
- if (null != a && null != b) {
- var c = this._hashForTimers[a.__instanceId];
- if (c) for (var d = c.timers, e = 0, f = d.length; e < f; e++) {
- var g = d[e];
- if (b == g._callback) {
- g != c.currentTimer || c.currentTimerSalvaged || (c.currentTimerSalvaged = !0);
- d.splice(e, 1);
- c.timerIndex >= e && c.timerIndex--;
- 0 == d.length && (this._currentTarget == c ? this._currentTargetSalvaged = !0 : this._removeHashElement(c));
- break
- }
- }
- }
- },
- unscheduleUpdateForTarget: function (a) {
- null != a && (a = this._hashForUpdates[a.__instanceId], null != a && (this._updateHashLocked ? a.entry.markedForDeletion = !0 : this._removeUpdateFromHash(a.entry)))
- },
- unscheduleAllCallbacksForTarget: function (a) {
- if (null != a) {
- var b = this._hashForTimers[a.__instanceId];
- if (b) {
- var c = b.timers; !b.currentTimerSalvaged && 0 <= c.indexOf(b.currentTimer) && (b.currentTimerSalvaged = !0);
- c.length = 0;
- this._currentTarget == b ? this._currentTargetSalvaged = !0 : this._removeHashElement(b)
- }
- this.unscheduleUpdateForTarget(a)
- }
- },
- unscheduleAllCallbacks: function () {
- this.unscheduleAllCallbacksWithMinPriority(cc.Scheduler.PRIORITY_SYSTEM)
- },
- unscheduleAllCallbacksWithMinPriority: function (a) {
- for (var b = this._arrayForTimers, c = this._updates, d = 0, e = b.length; d < e; d++) this.unscheduleAllCallbacksForTarget(b[d].target);
- for (d = 2; 0 <= d; d--) if (!(1 == d && 0 < a || 0 == d && 0 <= a)) for (var b = c[d], e = 0, f = b.length; e < f; e++) this.unscheduleUpdateForTarget(b[e].target)
- },
- pauseAllTargets: function () {
- return this.pauseAllTargetsWithMinPriority(cc.Scheduler.PRIORITY_SYSTEM)
- },
- pauseAllTargetsWithMinPriority: function (a) {
- a = [];
- for (var b, c = this._arrayForTimers, d = this._updates, e = 0, f = c.length; e < f; e++) if (b = c[e]) b.paused = !0,
- a.push(b.target);
- e = 0;
- for (f = d.length; e < f; e++) for (var c = d[e], g = 0, h = c.length; g < h; g++) if (b = c[g]) b.paused = !0,
- a.push(b.target);
- return a
- },
- resumeTargets: function (a) {
- if (a) for (var b = 0; b < a.length; b++) this.resumeTarget(a[b])
- },
- pauseTarget: function (a) {
- cc.assert(a, cc._LogInfos.Scheduler_pauseTarget);
- var b = this._hashForTimers[a.__instanceId];
- b && (b.paused = !0);
- if (a = this._hashForUpdates[a.__instanceId]) a.entry.paused = !0
- },
- resumeTarget: function (a) {
- cc.assert(a, cc._LogInfos.Scheduler_resumeTarget);
- var b = this._hashForTimers[a.__instanceId];
- b && (b.paused = !1);
- if (a = this._hashForUpdates[a.__instanceId]) a.entry.paused = !1
- },
- isTargetPaused: function (a) {
- cc.assert(a, cc._LogInfos.Scheduler_isTargetPaused);
- return (a = this._hashForTimers[a.__instanceId]) ? a.paused : !1
- }
- });
- cc.Scheduler.PRIORITY_SYSTEM = -2147483648;
- cc.PI2 = 2 * Math.PI;
- cc.DrawingPrimitiveCanvas = cc.Class.extend({
- _cacheArray: [],
- _renderContext: null,
- ctor: function (a) {
- this._renderContext = a
- },
- drawPoint: function (a, b) {
- b || (b = 1);
- var c = cc.view.getScaleX(),
- d = cc.view.getScaleY(),
- d = cc.p(a.x * c, a.y * d);
- this._renderContext.beginPath();
- this._renderContext.arc(d.x, -d.y, b * c, 0, 2 * Math.PI, !1);
- this._renderContext.closePath();
- this._renderContext.fill()
- },
- drawPoints: function (a, b, c) {
- if (null != a) {
- c || (c = 1);
- b = this._renderContext;
- var d = cc.view.getScaleX(),
- e = cc.view.getScaleY();
- b.beginPath();
- for (var f = 0, g = a.length; f < g; f++) b.arc(a[f].x * d, -a[f].y * e, c * d, 0, 2 * Math.PI, !1);
- b.closePath();
- b.fill()
- }
- },
- drawLine: function (a, b) {
- var c = this._renderContext,
- d = cc.view.getScaleX(),
- e = cc.view.getScaleY();
- c.beginPath();
- c.moveTo(a.x * d, -a.y * e);
- c.lineTo(b.x * d, -b.y * e);
- c.closePath();
- c.stroke()
- },
- drawRect: function (a, b) {
- this.drawLine(cc.p(a.x, a.y), cc.p(b.x, a.y));
- this.drawLine(cc.p(b.x, a.y), cc.p(b.x, b.y));
- this.drawLine(cc.p(b.x, b.y), cc.p(a.x, b.y));
- this.drawLine(cc.p(a.x, b.y), cc.p(a.x, a.y))
- },
- drawSolidRect: function (a, b, c) {
- a = [a, cc.p(b.x, a.y), b, cc.p(a.x, b.y)];
- this.drawSolidPoly(a, 4, c)
- },
- drawPoly: function (a, b, c, d) {
- d = d || !1;
- if (null != a) {
- if (3 > a.length) throw Error("Polygon's point must greater than 2");
- var e = a[0];
- b = this._renderContext;
- var f = cc.view.getScaleX(),
- g = cc.view.getScaleY();
- b.beginPath();
- b.moveTo(e.x * f, -e.y * g);
- for (var e = 1, h = a.length; e < h; e++) b.lineTo(a[e].x * f, -a[e].y * g);
- c && b.closePath();
- d ? b.fill() : b.stroke()
- }
- },
- drawSolidPoly: function (a, b, c) {
- this.setDrawColor(c.r, c.g, c.b, c.a);
- this.drawPoly(a, b, !0, !0)
- },
- drawCircle: function (a, b, c, d, e) {
- e = e || !1;
- d = this._renderContext;
- var f = cc.view.getScaleX(),
- g = cc.view.getScaleY();
- d.beginPath();
- d.arc(0 | a.x * f, 0 | -(a.y * g), b * f, -c, -(c - 2 * Math.PI), !1);
- e && d.lineTo(0 | a.x * f, 0 | -(a.y * g));
- d.stroke()
- },
- drawQuadBezier: function (a, b, c, d) {
- for (var e = this._cacheArray, f = e.length = 0, g = 0; g < d; g++) {
- var h = Math.pow(1 - f, 2) * a.x + 2 * (1 - f) * f * b.x + f * f * c.x,
- k = Math.pow(1 - f, 2) * a.y + 2 * (1 - f) * f * b.y + f * f * c.y;
- e.push(cc.p(h, k));
- f += 1 / d
- }
- e.push(cc.p(c.x, c.y));
- this.drawPoly(e, d + 1, !1, !1)
- },
- drawCubicBezier: function (a, b, c, d, e) {
- for (var f = this._cacheArray, g = f.length = 0, h = 0; h < e; h++) {
- var k = Math.pow(1 - g, 3) * a.x + 3 * Math.pow(1 - g, 2) * g * b.x + 3 * (1 - g) * g * g * c.x + g * g * g * d.x,
- m = Math.pow(1 - g, 3) * a.y + 3 * Math.pow(1 - g, 2) * g * b.y + 3 * (1 - g) * g * g * c.y + g * g * g * d.y;
- f.push(cc.p(k, m));
- g += 1 / e
- }
- f.push(cc.p(d.x, d.y));
- this.drawPoly(f, e + 1, !1, !1)
- },
- drawCatmullRom: function (a, b) {
- this.drawCardinalSpline(a, 0.5, b)
- },
- drawCardinalSpline: function (a, b, c) {
- cc._renderContext.strokeStyle = "rgba(255,255,255,1)";
- var d = this._cacheArray;
- d.length = 0;
- for (var e, f, g = 1 / a.length, h = 0; h < c + 1; h++) f = h / c,
- 1 == f ? (e = a.length - 1, f = 1) : (e = 0 | f / g, f = (f - g * e) / g),
- e = cc.CardinalSplineAt(cc.getControlPointAt(a, e - 1), cc.getControlPointAt(a, e - 0), cc.getControlPointAt(a, e + 1), cc.getControlPointAt(a, e + 2), b, f),
- d.push(e);
- this.drawPoly(d, c + 1, !1, !1)
- },
- drawImage: function (a, b, c, d, e) {
- switch (arguments.length) {
- case 2:
- this._renderContext.drawImage(a, b.x, -(b.y + a.height));
- break;
- case 3:
- this._renderContext.drawImage(a, b.x, -(b.y + c.height), c.width, c.height);
- break;
- case 5:
- this._renderContext.drawImage(a, b.x, b.y, c.width, c.height, d.x, -(d.y + e.height), e.width, e.height);
- break;
- default:
- throw Error("Argument must be non-nil");
- }
- },
- drawStar: function (a, b, c) {
- a = a || this._renderContext;
- b *= cc.view.getScaleX();
- c = "rgba(" + (0 | c.r) + "," + (0 | c.g) + "," + (0 | c.b);
- a.fillStyle = c + ",1)";
- var d = b / 10;
- a.beginPath();
- a.moveTo(-b, b);
- a.lineTo(0, d);
- a.lineTo(b, b);
- a.lineTo(d, 0);
- a.lineTo(b, -b);
- a.lineTo(0, -d);
- a.lineTo(-b, -b);
- a.lineTo(-d, 0);
- a.lineTo(-b, b);
- a.closePath();
- a.fill();
- var e = a.createRadialGradient(0, 0, d, 0, 0, b);
- e.addColorStop(0, c + ", 1)");
- e.addColorStop(0.3, c + ", 0.8)");
- e.addColorStop(1, c + ", 0.0)");
- a.fillStyle = e;
- a.beginPath();
- a.arc(0, 0, b - d, 0, cc.PI2, !1);
- a.closePath();
- a.fill()
- },
- drawColorBall: function (a, b, c) {
- a = a || this._renderContext;
- b *= cc.view.getScaleX();
- c = "rgba(" + (0 | c.r) + "," + (0 | c.g) + "," + (0 | c.b);
- var d = a.createRadialGradient(0, 0, b / 10, 0, 0, b);
- d.addColorStop(0, c + ", 1)");
- d.addColorStop(0.3, c + ", 0.8)");
- d.addColorStop(0.6, c + ", 0.4)");
- d.addColorStop(1, c + ", 0.0)");
- a.fillStyle = d;
- a.beginPath();
- a.arc(0, 0, b, 0, cc.PI2, !1);
- a.closePath();
- a.fill()
- },
- fillText: function (a, b, c) {
- this._renderContext.fillText(a, b, -c)
- },
- setDrawColor: function (a, b, c, d) {
- this._renderContext.fillStyle = "rgba(" + a + "," + b + "," + c + "," + d / 255 + ")";
- this._renderContext.strokeStyle = "rgba(" + a + "," + b + "," + c + "," + d / 255 + ")"
- },
- setPointSize: function (a) { },
- setLineWidth: function (a) {
- this._renderContext.lineWidth = a * cc.view.getScaleX()
- }
- });
- cc.DrawingPrimitiveWebGL = cc.Class.extend({
- _renderContext: null,
- _initialized: !1,
- _shader: null,
- _colorLocation: -1,
- _colorArray: null,
- _pointSizeLocation: -1,
- _pointSize: -1,
- ctor: function (a) {
- null == a && (a = cc._renderContext);
- if (!a instanceof WebGLRenderingContext) throw "Can't initialise DrawingPrimitiveWebGL. context need is WebGLRenderingContext";
- this._renderContext = a;
- this._colorArray = new Float32Array([1, 1, 1, 1])
- },
- lazy_init: function () {
- this._initialized || (this._shader = cc.shaderCache.programForKey(cc.SHADER_POSITION_UCOLOR), this._colorLocation = this._renderContext.getUniformLocation(this._shader.getProgram(), "u_color"), this._pointSizeLocation = this._renderContext.getUniformLocation(this._shader.getProgram(), "u_pointSize"), this._initialized = !0)
- },
- drawInit: function () {
- this._initialized = !1
- },
- drawPoint: function (a) {
- this.lazy_init();
- var b = this._renderContext;
- this._shader.use();
- this._shader.setUniformForModelViewAndProjectionMatrixWithMat4();
- cc.glEnableVertexAttribs(cc.VERTEX_ATTRIB_FLAG_POSITION);
- b.uniform4fv(this._colorLocation, this._colorArray);
- this._shader.setUniformLocationWith1f(this._pointSizeLocation, this._pointSize);
- var c = b.createBuffer();
- b.bindBuffer(b.ARRAY_BUFFER, c);
- b.bufferData(b.ARRAY_BUFFER, new Float32Array([a.x, a.y]), b.STATIC_DRAW);
- b.vertexAttribPointer(cc.VERTEX_ATTRIB_POSITION, 2, b.FLOAT, !1, 0, 0);
- b.drawArrays(b.POINTS, 0, 1);
- b.deleteBuffer(c);
- cc.incrementGLDraws(1)
- },
- drawPoints: function (a, b) {
- if (a && 0 != a.length) {
- this.lazy_init();
- var c = this._renderContext;
- this._shader.use();
- this._shader.setUniformForModelViewAndProjectionMatrixWithMat4();
- cc.glEnableVertexAttribs(cc.VERTEX_ATTRIB_FLAG_POSITION);
- c.uniform4fv(this._colorLocation, this._colorArray);
- this._shader.setUniformLocationWith1f(this._pointSizeLocation, this._pointSize);
- var d = c.createBuffer();
- c.bindBuffer(c.ARRAY_BUFFER, d);
- c.bufferData(c.ARRAY_BUFFER, this._pointsToTypeArray(a), c.STATIC_DRAW);
- c.vertexAttribPointer(cc.VERTEX_ATTRIB_POSITION, 2, c.FLOAT, !1, 0, 0);
- c.drawArrays(c.POINTS, 0, a.length);
- c.deleteBuffer(d);
- cc.incrementGLDraws(1)
- }
- },
- _pointsToTypeArray: function (a) {
- for (var b = new Float32Array(2 * a.length), c = 0; c < a.length; c++) b[2 * c] = a[c].x,
- b[2 * c + 1] = a[c].y;
- return b
- },
- drawLine: function (a, b) {
- this.lazy_init();
- var c = this._renderContext;
- this._shader.use();
- this._shader.setUniformForModelViewAndProjectionMatrixWithMat4();
- cc.glEnableVertexAttribs(cc.VERTEX_ATTRIB_FLAG_POSITION);
- c.uniform4fv(this._colorLocation, this._colorArray);
- var d = c.createBuffer();
- c.bindBuffer(c.ARRAY_BUFFER, d);
- c.bufferData(c.ARRAY_BUFFER, this._pointsToTypeArray([a, b]), c.STATIC_DRAW);
- c.vertexAttribPointer(cc.VERTEX_ATTRIB_POSITION, 2, c.FLOAT, !1, 0, 0);
- c.drawArrays(c.LINES, 0, 2);
- c.deleteBuffer(d);
- cc.incrementGLDraws(1)
- },
- drawRect: function (a, b) {
- this.drawLine(cc.p(a.x, a.y), cc.p(b.x, a.y));
- this.drawLine(cc.p(b.x, a.y), cc.p(b.x, b.y));
- this.drawLine(cc.p(b.x, b.y), cc.p(a.x, b.y));
- this.drawLine(cc.p(a.x, b.y), cc.p(a.x, a.y))
- },
- drawSolidRect: function (a, b, c) {
- a = [a, cc.p(b.x, a.y), b, cc.p(a.x, b.y)];
- this.drawSolidPoly(a, 4, c)
- },
- drawPoly: function (a, b, c) {
- this.lazy_init();
- b = this._renderContext;
- this._shader.use();
- this._shader.setUniformForModelViewAndProjectionMatrixWithMat4();
- cc.glEnableVertexAttribs(cc.VERTEX_ATTRIB_FLAG_POSITION);
- b.uniform4fv(this._colorLocation, this._colorArray);
- var d = b.createBuffer();
- b.bindBuffer(b.ARRAY_BUFFER, d);
- b.bufferData(b.ARRAY_BUFFER, this._pointsToTypeArray(a), b.STATIC_DRAW);
- b.vertexAttribPointer(cc.VERTEX_ATTRIB_POSITION, 2, b.FLOAT, !1, 0, 0);
- c ? b.drawArrays(b.LINE_LOOP, 0, a.length) : b.drawArrays(b.LINE_STRIP, 0, a.length);
- b.deleteBuffer(d);
- cc.incrementGLDraws(1)
- },
- drawSolidPoly: function (a, b, c) {
- this.lazy_init();
- c && this.setDrawColor(c.r, c.g, c.b, c.a);
- b = this._renderContext;
- this._shader.use();
- this._shader.setUniformForModelViewAndProjectionMatrixWithMat4();
- cc.glEnableVertexAttribs(cc.VERTEX_ATTRIB_FLAG_POSITION);
- b.uniform4fv(this._colorLocation, this._colorArray);
- c = b.createBuffer();
- b.bindBuffer(b.ARRAY_BUFFER, c);
- b.bufferData(b.ARRAY_BUFFER, this._pointsToTypeArray(a), b.STATIC_DRAW);
- b.vertexAttribPointer(cc.VERTEX_ATTRIB_POSITION, 2, b.FLOAT, !1, 0, 0);
- b.drawArrays(b.TRIANGLE_FAN, 0, a.length);
- b.deleteBuffer(c);
- cc.incrementGLDraws(1)
- },
- drawCircle: function (a, b, c, d, e) {
- this.lazy_init();
- var f = 1;
- e && f++;
- var g = 2 * Math.PI / d;
- if (e = new Float32Array(2 * (d + 2))) {
- for (var h = 0; h <= d; h++) {
- var k = h * g,
- m = b * Math.cos(k + c) + a.x,
- k = b * Math.sin(k + c) + a.y;
- e[2 * h] = m;
- e[2 * h + 1] = k
- }
- e[2 * (d + 1)] = a.x;
- e[2 * (d + 1) + 1] = a.y;
- a = this._renderContext;
- this._shader.use();
- this._shader.setUniformForModelViewAndProjectionMatrixWithMat4();
- cc.glEnableVertexAttribs(cc.VERTEX_ATTRIB_FLAG_POSITION);
- a.uniform4fv(this._colorLocation, this._colorArray);
- b = a.createBuffer();
- a.bindBuffer(a.ARRAY_BUFFER, b);
- a.bufferData(a.ARRAY_BUFFER, e, a.STATIC_DRAW);
- a.vertexAttribPointer(cc.VERTEX_ATTRIB_POSITION, 2, a.FLOAT, !1, 0, 0);
- a.drawArrays(a.LINE_STRIP, 0, d + f);
- a.deleteBuffer(b);
- cc.incrementGLDraws(1)
- }
- },
- drawQuadBezier: function (a, b, c, d) {
- this.lazy_init();
- for (var e = new Float32Array(2 * (d + 1)), f = 0, g = 0; g < d; g++) e[2 * g] = Math.pow(1 - f, 2) * a.x + 2 * (1 - f) * f * b.x + f * f * c.x,
- e[2 * g + 1] = Math.pow(1 - f, 2) * a.y + 2 * (1 - f) * f * b.y + f * f * c.y,
- f += 1 / d;
- e[2 * d] = c.x;
- e[2 * d + 1] = c.y;
- a = this._renderContext;
- this._shader.use();
- this._shader.setUniformForModelViewAndProjectionMatrixWithMat4();
- cc.glEnableVertexAttribs(cc.VERTEX_ATTRIB_FLAG_POSITION);
- a.uniform4fv(this._colorLocation, this._colorArray);
- b = a.createBuffer();
- a.bindBuffer(a.ARRAY_BUFFER, b);
- a.bufferData(a.ARRAY_BUFFER, e, a.STATIC_DRAW);
- a.vertexAttribPointer(cc.VERTEX_ATTRIB_POSITION, 2, a.FLOAT, !1, 0, 0);
- a.drawArrays(a.LINE_STRIP, 0, d + 1);
- a.deleteBuffer(b);
- cc.incrementGLDraws(1)
- },
- drawCubicBezier: function (a, b, c, d, e) {
- this.lazy_init();
- for (var f = new Float32Array(2 * (e + 1)), g = 0, h = 0; h < e; h++) f[2 * h] = Math.pow(1 - g, 3) * a.x + 3 * Math.pow(1 - g, 2) * g * b.x + 3 * (1 - g) * g * g * c.x + g * g * g * d.x,
- f[2 * h + 1] = Math.pow(1 - g, 3) * a.y + 3 * Math.pow(1 -
- g, 2) * g * b.y + 3 * (1 - g) * g * g * c.y + g * g * g * d.y,
- g += 1 / e;
- f[2 * e] = d.x;
- f[2 * e + 1] = d.y;
- a = this._renderContext;
- this._shader.use();
- this._shader.setUniformForModelViewAndProjectionMatrixWithMat4();
- cc.glEnableVertexAttribs(cc.VERTEX_ATTRIB_FLAG_POSITION);
- a.uniform4fv(this._colorLocation, this._colorArray);
- b = a.createBuffer();
- a.bindBuffer(a.ARRAY_BUFFER, b);
- a.bufferData(a.ARRAY_BUFFER, f, a.STATIC_DRAW);
- a.vertexAttribPointer(cc.VERTEX_ATTRIB_POSITION, 2, a.FLOAT, !1, 0, 0);
- a.drawArrays(a.LINE_STRIP, 0, e + 1);
- a.deleteBuffer(b);
- cc.incrementGLDraws(1)
- },
- drawCatmullRom: function (a, b) {
- this.drawCardinalSpline(a, 0.5, b)
- },
- drawCardinalSpline: function (a, b, c) {
- this.lazy_init();
- for (var d = new Float32Array(2 * (c + 1)), e, f, g = 1 / a.length, h = 0; h < c + 1; h++) f = h / c,
- 1 == f ? (e = a.length - 1, f = 1) : (e = 0 | f / g, f = (f - g * e) / g),
- e = cc.CardinalSplineAt(cc.getControlPointAt(a, e - 1), cc.getControlPointAt(a, e), cc.getControlPointAt(a, e + 1), cc.getControlPointAt(a, e + 2), b, f),
- d[2 * h] = e.x,
- d[2 * h + 1] = e.y;
- a = this._renderContext;
- this._shader.use();
- this._shader.setUniformForModelViewAndProjectionMatrixWithMat4();
- cc.glEnableVertexAttribs(cc.VERTEX_ATTRIB_FLAG_POSITION);
- a.uniform4fv(this._colorLocation, this._colorArray);
- b = a.createBuffer();
- a.bindBuffer(a.ARRAY_BUFFER, b);
- a.bufferData(a.ARRAY_BUFFER, d, a.STATIC_DRAW);
- a.vertexAttribPointer(cc.VERTEX_ATTRIB_POSITION, 2, a.FLOAT, !1, 0, 0);
- a.drawArrays(a.LINE_STRIP, 0, c + 1);
- a.deleteBuffer(b);
- cc.incrementGLDraws(1)
- },
- setDrawColor: function (a, b, c, d) {
- this._colorArray[0] = a / 255;
- this._colorArray[1] = b / 255;
- this._colorArray[2] = c / 255;
- this._colorArray[3] = d / 255
- },
- setPointSize: function (a) {
- this._pointSize = a * cc.contentScaleFactor()
- },
- setLineWidth: function (a) {
- this._renderContext.lineWidth && this._renderContext.lineWidth(a)
- }
- });
- cc._tmp.WebGLLabelTTF = function () {
- var a = cc.LabelTTF.prototype;
- a.setColor = cc.Sprite.prototype.setColor;
- a._setColorsString = function () {
- this._needUpdateTexture = !0;
- var a = this._strokeColor,
- c = this._textFillColor;
- this._shadowColorStr = "rgba(128,128,128," + this._shadowOpacity + ")";
- this._fillColorStr = "rgba(" + (0 | c.r) + "," + (0 | c.g) + "," + (0 | c.b) + ", 1)";
- this._strokeColorStr = "rgba(" + (0 | a.r) + "," + (0 | a.g) + "," + (0 | a.b) + ", 1)"
- };
- a.updateDisplayedColor = cc.Sprite.prototype.updateDisplayedColor;
- a.setOpacity = cc.Sprite.prototype.setOpacity;
- a.updateDisplayedOpacity = cc.Sprite.prototype.updateDisplayedOpacity;
- a.initWithStringAndTextDefinition = function (a, c) {
- if (!cc.Sprite.prototype.init.call(this)) return !1;
- this.shaderProgram = cc.shaderCache.programForKey(cc.LabelTTF._SHADER_PROGRAM);
- this._updateWithTextDefinition(c, !1);
- this.string = a;
- return !0
- };
- a.setFontFillColor = function (a) {
- var c = this._textFillColor;
- if (c.r != a.r || c.g != a.g || c.b != a.b) c.r = a.r,
- c.g = a.g,
- c.b = a.b,
- this._setColorsString(),
- this._needUpdateTexture = !0
- };
- a.draw = function (a) {
- if (this._string && "" != this._string) {
- a = a || cc._renderContext;
- var c = this._texture;
- c && c._isLoaded && (this._shaderProgram.use(), this._shaderProgram.setUniformForModelViewAndProjectionMatrixWithMat4(), cc.glBlendFunc(this._blendFunc.src, this._blendFunc.dst), cc.glBindTexture2D(c), cc.glEnableVertexAttribs(cc.VERTEX_ATTRIB_FLAG_POS_COLOR_TEX), a.bindBuffer(a.ARRAY_BUFFER, this._quadWebBuffer), this._quadDirty && (a.bufferData(a.ARRAY_BUFFER, this._quad.arrayBuffer, a.STATIC_DRAW), this._quadDirty = !1), a.vertexAttribPointer(cc.VERTEX_ATTRIB_POSITION, 3, a.FLOAT, !1, 24, 0), a.vertexAttribPointer(cc.VERTEX_ATTRIB_TEX_COORDS, 2, a.FLOAT, !1, 24, 16), a.vertexAttribPointer(cc.VERTEX_ATTRIB_COLOR, 4, a.UNSIGNED_BYTE, !0, 24, 12), a.drawArrays(a.TRIANGLE_STRIP, 0, 4));
- if (1 === cc.SPRITE_DEBUG_DRAW) a = this._quad,
- a = [cc.p(a.tl.vertices.x, a.tl.vertices.y), cc.p(a.bl.vertices.x, a.bl.vertices.y), cc.p(a.br.vertices.x, a.br.vertices.y), cc.p(a.tr.vertices.x, a.tr.vertices.y)],
- cc._drawingUtil.drawPoly(a, 4, !0);
- else if (2 === cc.SPRITE_DEBUG_DRAW) {
- a = this.getTextureRect();
- var c = this.offsetX,
- d = this.offsetY;
- a = [cc.p(c, d), cc.p(c + a.width, d), cc.p(c + a.width, d + a.height), cc.p(c, d + a.height)];
- cc._drawingUtil.drawPoly(a, 4, !0)
- }
- cc.g_NumberOfDraws++
- }
- };
- a.setTextureRect = cc.Sprite.prototype.setTextureRect
- };
- cc._tmp.PrototypeLabelTTF = function () {
- var a = cc.LabelTTF.prototype;
- cc.defineGetterSetter(a, "color", a.getColor, a.setColor);
- cc.defineGetterSetter(a, "opacity", a.getOpacity, a.setOpacity);
- cc.defineGetterSetter(a, "string", a.getString, a.setString);
- cc.defineGetterSetter(a, "textAlign", a.getHorizontalAlignment, a.setHorizontalAlignment);
- cc.defineGetterSetter(a, "verticalAlign", a.getVerticalAlignment, a.setVerticalAlignment);
- cc.defineGetterSetter(a, "fontSize", a.getFontSize, a.setFontSize);
- cc.defineGetterSetter(a, "fontName", a.getFontName, a.setFontName);
- cc.defineGetterSetter(a, "font", a._getFont, a._setFont);
- cc.defineGetterSetter(a, "boundingWidth", a._getBoundingWidth, a._setBoundingWidth);
- cc.defineGetterSetter(a, "boundingHeight", a._getBoundingHeight, a._setBoundingHeight);
- cc.defineGetterSetter(a, "fillStyle", a._getFillStyle, a.setFontFillColor);
- cc.defineGetterSetter(a, "strokeStyle", a._getStrokeStyle, a._setStrokeStyle);
- cc.defineGetterSetter(a, "lineWidth", a._getLineWidth, a._setLineWidth);
- cc.defineGetterSetter(a, "shadowOffsetX", a._getShadowOffsetX, a._setShadowOffsetX);
- cc.defineGetterSetter(a, "shadowOffsetY", a._getShadowOffsetY, a._setShadowOffsetY);
- cc.defineGetterSetter(a, "shadowOpacity", a._getShadowOpacity, a._setShadowOpacity);
- cc.defineGetterSetter(a, "shadowBlur", a._getShadowBlur, a._setShadowBlur)
- };
- cc.LabelTTF = cc.Sprite.extend({
- _dimensions: null,
- _hAlignment: cc.TEXT_ALIGNMENT_CENTER,
- _vAlignment: cc.VERTICAL_TEXT_ALIGNMENT_TOP,
- _fontName: null,
- _fontSize: 0,
- _string: "",
- _originalText: null,
- _isMultiLine: !1,
- _fontStyleStr: null,
- _shadowEnabled: !1,
- _shadowOffset: null,
- _shadowOpacity: 0,
- _shadowBlur: 0,
- _shadowColorStr: null,
- _strokeEnabled: !1,
- _strokeColor: null,
- _strokeSize: 0,
- _strokeColorStr: null,
- _textFillColor: null,
- _fillColorStr: null,
- _strokeShadowOffsetX: 0,
- _strokeShadowOffsetY: 0,
- _needUpdateTexture: !1,
- _labelCanvas: null,
- _labelContext: null,
- _lineWidths: null,
- _className: "LabelTTF",
- initWithString: function (a, b, c, d, e, f) {
- a = a ? a + "" : "";
- c = c || 16;
- d = d || cc.size(0, 0);
- e = e || cc.TEXT_ALIGNMENT_LEFT;
- f = f || cc.VERTICAL_TEXT_ALIGNMENT_TOP;
- this._opacityModifyRGB = !1;
- this._dimensions = cc.size(d.width, d.height);
- this._fontName = b || "Arial";
- this._hAlignment = e;
- this._vAlignment = f;
- this._fontSize = c;
- this._fontStyleStr = this._fontSize + "px '" + b + "'";
- this._fontClientHeight = cc.LabelTTF.__getFontHeightByDiv(b, this._fontSize);
- this.string = a;
- this._setColorsString();
- this._updateTexture();
- this._needUpdateTexture = !1;
- return !0
- },
- ctor: function (a, b, c, d, e, f) {
- cc.Sprite.prototype.ctor.call(this);
- this._dimensions = cc.size(0, 0);
- this._hAlignment = cc.TEXT_ALIGNMENT_LEFT;
- this._vAlignment = cc.VERTICAL_TEXT_ALIGNMENT_TOP;
- this._opacityModifyRGB = !1;
- this._fontStyleStr = "";
- this._fontName = "Arial";
- this._shadowEnabled = this._isMultiLine = !1;
- this._shadowOffset = cc.p(0, 0);
- this._shadowBlur = this._shadowOpacity = 0;
- this._shadowColorStr = "rgba(128, 128, 128, 0.5)";
- this._strokeEnabled = !1;
- this._strokeColor = cc.color(255, 255, 255, 255);
- this._strokeSize = 0;
- this._strokeColorStr = "";
- this._textFillColor = cc.color(255, 255, 255, 255);
- this._fillColorStr = "rgba(255,255,255,1)";
- this._strokeShadowOffsetY = this._strokeShadowOffsetX = 0;
- this._needUpdateTexture = !1;
- this._lineWidths = [];
- this._setColorsString();
- b && b instanceof cc.FontDefinition ? this.initWithStringAndTextDefinition(a, b) : cc.LabelTTF.prototype.initWithString.call(this, a, b, c, d, e, f)
- },
- init: function () {
- return this.initWithString(" ", this._fontName, this._fontSize)
- },
- _measureConfig: function () {
- this._getLabelContext().font = this._fontStyleStr
- },
- _measure: function (a) {
- return this._getLabelContext().measureText(a).width
- },
- description: function () {
- return "\x3ccc.LabelTTF | FontName \x3d" + this._fontName + " FontSize \x3d " + this._fontSize.toFixed(1) + "\x3e"
- },
- setColor: null,
- _setColorsString: null,
- updateDisplayedColor: null,
- setOpacity: null,
- updateDisplayedOpacity: null,
- updateDisplayedOpacityForCanvas: function (a) {
- cc.Node.prototype.updateDisplayedOpacity.call(this, a);
- this._setColorsString()
- },
- getString: function () {
- return this._string
- },
- getHorizontalAlignment: function () {
- return this._hAlignment
- },
- getVerticalAlignment: function () {
- return this._vAlignment
- },
- getDimensions: function () {
- return cc.size(this._dimensions)
- },
- getFontSize: function () {
- return this._fontSize
- },
- getFontName: function () {
- return this._fontName
- },
- initWithStringAndTextDefinition: null,
- setTextDefinition: function (a) {
- a && this._updateWithTextDefinition(a, !0)
- },
- getTextDefinition: function () {
- return this._prepareTextDefinition(!1)
- },
- enableShadow: function (a, b, c, d) {
- c = c || 0.5; !1 === this._shadowEnabled && (this._shadowEnabled = !0);
- var e = this._shadowOffset;
- if (e && e.x != a || e._y != b) e.x = a,
- e.y = b;
- this._shadowOpacity != c && (this._shadowOpacity = c);
- this._setColorsString();
- this._shadowBlur != d && (this._shadowBlur = d);
- this._needUpdateTexture = !0
- },
- _getShadowOffsetX: function () {
- return this._shadowOffset.x
- },
- _setShadowOffsetX: function (a) {
- !1 === this._shadowEnabled && (this._shadowEnabled = !0);
- this._shadowOffset.x != a && (this._shadowOffset.x = a, this._needUpdateTexture = !0)
- },
- _getShadowOffsetY: function () {
- return this._shadowOffset._y
- },
- _setShadowOffsetY: function (a) {
- !1 === this._shadowEnabled && (this._shadowEnabled = !0);
- this._shadowOffset._y != a && (this._shadowOffset._y = a, this._needUpdateTexture = !0)
- },
- _getShadowOffset: function () {
- return cc.p(this._shadowOffset.x, this._shadowOffset.y)
- },
- _setShadowOffset: function (a) {
- !1 === this._shadowEnabled && (this._shadowEnabled = !0);
- if (this._shadowOffset.x != a.x || this._shadowOffset.y != a.y) this._shadowOffset.x = a.x,
- this._shadowOffset.y = a.y,
- this._needUpdateTexture = !0
- },
- _getShadowOpacity: function () {
- return this._shadowOpacity
- },
- _setShadowOpacity: function (a) {
- !1 === this._shadowEnabled && (this._shadowEnabled = !0);
- this._shadowOpacity != a && (this._shadowOpacity = a, this._setColorsString(), this._needUpdateTexture = !0)
- },
- _getShadowBlur: function () {
- return this._shadowBlur
- },
- _setShadowBlur: function (a) {
- !1 === this._shadowEnabled && (this._shadowEnabled = !0);
- this._shadowBlur != a && (this._shadowBlur = a, this._needUpdateTexture = !0)
- },
- disableShadow: function () {
- this._shadowEnabled && (this._shadowEnabled = !1, this._needUpdateTexture = !0)
- },
- enableStroke: function (a, b) {
- !1 === this._strokeEnabled && (this._strokeEnabled = !0);
- var c = this._strokeColor;
- if (c.r !== a.r || c.g !== a.g || c.b !== a.b) c.r = a.r,
- c.g = a.g,
- c.b = a.b,
- this._setColorsString();
- this._strokeSize !== b && (this._strokeSize = b || 0);
- this._needUpdateTexture = !0
- },
- _getStrokeStyle: function () {
- return this._strokeColor
- },
- _setStrokeStyle: function (a) {
- !1 === this._strokeEnabled && (this._strokeEnabled = !0);
- var b = this._strokeColor;
- if (b.r !== a.r || b.g !== a.g || b.b !== a.b) b.r = a.r,
- b.g = a.g,
- b.b = a.b,
- this._setColorsString(),
- this._needUpdateTexture = !0
- },
- _getLineWidth: function () {
- return this._strokeSize
- },
- _setLineWidth: function (a) {
- !1 === this._strokeEnabled && (this._strokeEnabled = !0);
- this._strokeSize !== a && (this._strokeSize = a || 0, this._needUpdateTexture = !0)
- },
- disableStroke: function () {
- this._strokeEnabled && (this._strokeEnabled = !1, this._needUpdateTexture = !0)
- },
- setFontFillColor: null,
- _getFillStyle: function () {
- return this._textFillColor
- },
- _updateWithTextDefinition: function (a, b) {
- a.fontDimensions ? (this._dimensions.width = a.boundingWidth, this._dimensions.height = a.boundingHeight) : (this._dimensions.width = 0, this._dimensions.height = 0);
- this._hAlignment = a.textAlign;
- this._vAlignment = a.verticalAlign;
- this._fontName = a.fontName;
- this._fontSize = a.fontSize || 12;
- this._fontStyleStr = this._fontSize + "px '" + this._fontName + "'";
- this._fontClientHeight = cc.LabelTTF.__getFontHeightByDiv(this._fontName, this._fontSize);
- a.shadowEnabled && this.enableShadow(a.shadowOffsetX, a.shadowOffsetY, a.shadowOpacity, a.shadowBlur);
- a.strokeEnabled && this.enableStroke(a.strokeStyle, a.lineWidth);
- this.setFontFillColor(a.fillStyle);
- b && this._updateTexture()
- },
- _prepareTextDefinition: function (a) {
- var b = new cc.FontDefinition;
- a ? (b.fontSize = this._fontSize, b.boundingWidth = cc.contentScaleFactor() * this._dimensions.width, b.boundingHeight = cc.contentScaleFactor() * this._dimensions.height) : (b.fontSize = this._fontSize, b.boundingWidth = this._dimensions.width, b.boundingHeight = this._dimensions.height);
- b.fontName = this._fontName;
- b.textAlign = this._hAlignment;
- b.verticalAlign = this._vAlignment;
- if (this._strokeEnabled) {
- b.strokeEnabled = !0;
- var c = this._strokeColor;
- b.strokeStyle = cc.color(c.r, c.g, c.b);
- b.lineWidth = this._strokeSize
- } else b.strokeEnabled = !1;
- this._shadowEnabled ? (b.shadowEnabled = !0, b.shadowBlur = this._shadowBlur, b.shadowOpacity = this._shadowOpacity, b.shadowOffsetX = (a ? cc.contentScaleFactor() : 1) * this._shadowOffset.x, b.shadowOffsetY = (a ? cc.contentScaleFactor() : 1) * this._shadowOffset.y) : b._shadowEnabled = !1;
- a = this._textFillColor;
- b.fillStyle = cc.color(a.r, a.g, a.b);
- return b
- },
- _fontClientHeight: 18,
- setString: function (a) {
- a = String(a);
- this._originalText != a && (this._originalText = a + "", this._updateString(), this._needUpdateTexture = !0)
- },
- _updateString: function () {
- this._string = this._originalText
- },
- setHorizontalAlignment: function (a) {
- a !== this._hAlignment && (this._hAlignment = a, this._needUpdateTexture = !0)
- },
- setVerticalAlignment: function (a) {
- a != this._vAlignment && (this._vAlignment = a, this._needUpdateTexture = !0)
- },
- setDimensions: function (a, b) {
- var c;
- void 0 === b ? (c = a.width, b = a.height) : c = a;
- if (c != this._dimensions.width || b != this._dimensions.height) this._dimensions.width = c,
- this._dimensions.height = b,
- this._updateString(),
- this._needUpdateTexture = !0
- },
- _getBoundingWidth: function () {
- return this._dimensions.width
- },
- _setBoundingWidth: function (a) {
- a != this._dimensions.width && (this._dimensions.width = a, this._updateString(), this._needUpdateTexture = !0)
- },
- _getBoundingHeight: function () {
- return this._dimensions.height
- },
- _setBoundingHeight: function (a) {
- a != this._dimensions.height && (this._dimensions.height = a, this._updateString(), this._needUpdateTexture = !0)
- },
- setFontSize: function (a) {
- this._fontSize !== a && (this._fontSize = a, this._fontStyleStr = a + "px '" + this._fontName + "'", this._fontClientHeight = cc.LabelTTF.__getFontHeightByDiv(this._fontName, a), this._needUpdateTexture = !0)
- },
- setFontName: function (a) {
- this._fontName && this._fontName != a && (this._fontName = a, this._fontStyleStr = this._fontSize + "px '" + a + "'", this._fontClientHeight = cc.LabelTTF.__getFontHeightByDiv(a, this._fontSize), this._needUpdateTexture = !0)
- },
- _getFont: function () {
- return this._fontStyleStr
- },
- _setFont: function (a) {
- var b = cc.LabelTTF._fontStyleRE.exec(a);
- b && (this._fontSize = parseInt(b[1]), this._fontName = b[2], this._fontStyleStr = a, this._fontClientHeight = cc.LabelTTF.__getFontHeightByDiv(this._fontName, this._fontSize), this._needUpdateTexture = !0)
- },
- _drawTTFInCanvas: function (a) {
- if (a) {
- var b = this._strokeShadowOffsetX,
- c = this._strokeShadowOffsetY,
- d = this._contentSize.height - c,
- e = this._vAlignment,
- f = this._hAlignment,
- g = this._fontClientHeight,
- h = this._strokeSize;
- a.setTransform(1, 0, 0, 1, 0 + 0.5 * b, d + 0.5 * c);
- a.font != this._fontStyleStr && (a.font = this._fontStyleStr);
- a.fillStyle = this._fillColorStr;
- var k = c = 0,
- m = this._strokeEnabled;
- m && (a.lineWidth = 2 * h, a.strokeStyle = this._strokeColorStr);
- this._shadowEnabled && (h = this._shadowOffset, a.shadowColor = this._shadowColorStr, a.shadowOffsetX = h.x, a.shadowOffsetY = -h.y, a.shadowBlur = this._shadowBlur);
- a.textBaseline = cc.LabelTTF._textBaseline[e];
- a.textAlign = cc.LabelTTF._textAlign[f];
- b = this._contentSize.width - b;
- c = f === cc.TEXT_ALIGNMENT_RIGHT ? c + b : f === cc.TEXT_ALIGNMENT_CENTER ? c + b / 2 : c + 0;
- if (this._isMultiLine) for (f = this._strings.length, e === cc.VERTICAL_TEXT_ALIGNMENT_BOTTOM ? k = g + d - g * f : e === cc.VERTICAL_TEXT_ALIGNMENT_CENTER && (k = g / 2 + (d - g * f) / 2), e = 0; e < f; e++) b = this._strings[e],
- h = -d + g * e + k,
- m && a.strokeText(b, c, h),
- a.fillText(b, c, h);
- else e !== cc.VERTICAL_TEXT_ALIGNMENT_BOTTOM && (k = e === cc.VERTICAL_TEXT_ALIGNMENT_TOP ? k - d : k - 0.5 * d),
- m && a.strokeText(this._string, c, k),
- a.fillText(this._string, c, k)
- }
- },
- _getLabelContext: function () {
- if (this._labelContext) return this._labelContext;
- if (!this._labelCanvas) {
- var a = cc.newElement("canvas"),
- b = new cc.Texture2D;
- b.initWithElement(a);
- this.texture = b;
- this._labelCanvas = a
- }
- return this._labelContext = this._labelCanvas.getContext("2d")
- },
- _checkWarp: function (a, b, c) {
- var d = a[b],
- e = this._measure(d);
- if (e > c && 1 < d.length) {
- for (var f = c / e * d.length | 0, g = d.substr(f), h = e - this._measure(g), k, m = 0, n = 0; h > c && 100 > n++;) f *= c / h,
- f |= 0,
- g = d.substr(f),
- h = e - this._measure(g);
- for (n = 0; h < c && 100 > n++;) g && (m = (k = cc.LabelTTF._wordRex.exec(g)) ? k[0].length : 1, k = g),
- f += m,
- g = d.substr(f),
- h = e - this._measure(g);
- f -= m;
- c = d.substr(0, f);
- cc.LabelTTF.wrapInspection && cc.LabelTTF._symbolRex.test(k || g) && (e = cc.LabelTTF._lastWordRex.exec(c), f -= e ? e[0].length : 0, k = d.substr(f), c = d.substr(0, f));
- cc.LabelTTF._firsrEnglish.test(k) && (e = cc.LabelTTF._lastEnglish.exec(c)) && c !== e[0] && (f -= e[0].length, k = d.substr(f), c = d.substr(0, f));
- a[b] = k || g;
- a.splice(b, 0, c)
- }
- },
- _updateTTF: function () {
- var a = this._dimensions.width,
- b,
- c,
- d = this._lineWidths;
- d.length = 0;
- this._isMultiLine = !1;
- this._measureConfig();
- if (0 !== a) for (this._strings = this._string.split("\n"), b = 0; b < this._strings.length; b++) this._checkWarp(this._strings, b, a);
- else for (this._strings = this._string.split("\n"), b = 0, c = this._strings.length; b < c; b++) d.push(this._measure(this._strings[b]));
- 0 < this._strings.length && (this._isMultiLine = !0);
- c = b = 0;
- this._strokeEnabled && (b = c = 2 * this._strokeSize);
- if (this._shadowEnabled) {
- var e = this._shadowOffset;
- b += 2 * Math.abs(e.x);
- c += 2 * Math.abs(e.y)
- }
- a = 0 === a ? this._isMultiLine ? cc.size(0 | Math.max.apply(Math, d) + b, 0 | this._fontClientHeight * this._strings.length + c) : cc.size(0 | this._measure(this._string) + b, 0 | this._fontClientHeight + c) : 0 === this._dimensions.height ? this._isMultiLine ? cc.size(0 | a + b, 0 | this._fontClientHeight * this._strings.length + c) : cc.size(0 | a + b, 0 | this._fontClientHeight + c) : cc.size(0 | a + b, 0 | this._dimensions.height +
- c);
- this.setContentSize(a);
- this._strokeShadowOffsetX = b;
- this._strokeShadowOffsetY = c;
- d = this._anchorPoint;
- this._anchorPointInPoints.x = 0.5 * b + (a.width - b) * d.x;
- this._anchorPointInPoints.y = 0.5 * c + (a.height - c) * d.y
- },
- getContentSize: function () {
- this._needUpdateTexture && this._updateTTF();
- return cc.Sprite.prototype.getContentSize.call(this)
- },
- _getWidth: function () {
- this._needUpdateTexture && this._updateTTF();
- return cc.Sprite.prototype._getWidth.call(this)
- },
- _getHeight: function () {
- this._needUpdateTexture && this._updateTTF();
- return cc.Sprite.prototype._getHeight.call(this)
- },
- _updateTexture: function () {
- var a = this._getLabelContext(),
- b = this._labelCanvas,
- c = this._contentSize;
- if (0 === this._string.length) return b.width = 1,
- b.height = c.height || 1,
- this._texture && this._texture.handleLoadedTexture(),
- this.setTextureRect(cc.rect(0, 0, 1, c.height)),
- !0;
- a.font = this._fontStyleStr;
- this._updateTTF();
- var d = c.width,
- c = c.height,
- e = b.width == d && b.height == c;
- b.width = d;
- b.height = c;
- e && a.clearRect(0, 0, d, c);
- this._drawTTFInCanvas(a);
- this._texture && this._texture.handleLoadedTexture();
- this.setTextureRect(cc.rect(0, 0, d, c));
- return !0
- },
- visit: function (a) {
- this._string && "" != this._string && (this._needUpdateTexture && (this._needUpdateTexture = !1, this._updateTexture()), cc.Sprite.prototype.visit.call(this, a || cc._renderContext))
- },
- draw: null,
- _setTextureCoords: function (a) {
- var b = this._batchNode ? this.textureAtlas.texture : this._texture;
- if (b) {
- var c = b.pixelsWidth,
- d = b.pixelsHeight,
- e,
- f = this._quad;
- this._rectRotated ? (cc.FIX_ARTIFACTS_BY_STRECHING_TEXEL ? (b = (2 * a.x + 1) / (2 * c), c = b + (2 * a.height - 2) / (2 * c), e = (2 * a.y +
- 1) / (2 * d), a = e + (2 * a.width - 2) / (2 * d)) : (b = a.x / c, c = (a.x + a.height) / c, e = a.y / d, a = (a.y + a.width) / d), this._flippedX && (d = e, e = a, a = d), this._flippedY && (d = b, b = c, c = d), f.bl.texCoords.u = b, f.bl.texCoords.v = e, f.br.texCoords.u = b, f.br.texCoords.v = a, f.tl.texCoords.u = c, f.tl.texCoords.v = e, f.tr.texCoords.u = c, f.tr.texCoords.v = a) : (cc.FIX_ARTIFACTS_BY_STRECHING_TEXEL ? (b = (2 * a.x + 1) / (2 * c), c = b + (2 * a.width - 2) / (2 * c), e = (2 * a.y + 1) / (2 * d), a = e + (2 * a.height - 2) / (2 * d)) : (b = a.x / c, c = (a.x + a.width) / c, e = a.y / d, a = (a.y + a.height) / d), this._flippedX && (d = b, b = c, c = d), this._flippedY && (d = e, e = a, a = d), f.bl.texCoords.u = b, f.bl.texCoords.v = a, f.br.texCoords.u = c, f.br.texCoords.v = a, f.tl.texCoords.u = b, f.tl.texCoords.v = e, f.tr.texCoords.u = c, f.tr.texCoords.v = e);
- this._quadDirty = !0
- }
- }
- });
- cc._renderType === cc._RENDER_TYPE_CANVAS ? (_p = cc.LabelTTF.prototype, _p.setColor = function (a) {
- cc.Node.prototype.setColor.call(this, a);
- this._setColorsString()
- },
- _p._setColorsString = function () {
- this._needUpdateTexture = !0;
- var a = this._displayedColor,
- b = this._displayedOpacity,
- c = this._strokeColor,
- d = this._textFillColor;
- this._shadowColorStr = "rgba(" + (0 | 0.5 * a.r) + "," + (0 | 0.5 * a.g) + "," + (0 | 0.5 * a.b) + "," + this._shadowOpacity + ")";
- this._fillColorStr = "rgba(" + (0 | a.r / 255 * d.r) + "," + (0 | a.g / 255 * d.g) + "," + (0 | a.b / 255 * d.b) + ", " + b / 255 + ")";
- this._strokeColorStr = "rgba(" + (0 | a.r / 255 * c.r) + "," + (0 | a.g / 255 * c.g) + "," + (0 | a.b / 255 * c.b) + ", " + b / 255 + ")"
- },
- _p.updateDisplayedColor = function (a) {
- cc.Node.prototype.updateDisplayedColor.call(this, a);
- this._setColorsString()
- },
- _p.setOpacity = function (a) {
- this._opacity !== a && (cc.Sprite.prototype.setOpacity.call(this, a), this._setColorsString(), this._needUpdateTexture = !0)
- },
- _p.updateDisplayedOpacity = cc.Sprite.prototype.updateDisplayedOpacity, _p.initWithStringAndTextDefinition = function (a, b) {
- this._updateWithTextDefinition(b, !1);
- this.string = a;
- return !0
- },
- _p.setFontFillColor = function (a) {
- var b = this._textFillColor;
- if (b.r != a.r || b.g != a.g || b.b != a.b) b.r = a.r,
- b.g = a.g,
- b.b = a.b,
- this._setColorsString(),
- this._needUpdateTexture = !0
- },
- _p.draw = cc.Sprite.prototype.draw, _p.setTextureRect = function (a, b, c) {
- this._rectRotated = b || !1;
- this.setContentSize(c || a);
- this.setVertexRect(a);
- b = this._textureRect_Canvas;
- b.x = a.x;
- b.y = a.y;
- b.width = a.width;
- b.height = a.height;
- b.validRect = !(0 === b.width || 0 === b.height || 0 > b.x || 0 > b.y);
- a = this._unflippedOffsetPositionFromCenter;
- this._flippedX && (a.x = -a.x);
- this._flippedY && (a.y = -a.y);
- this._offsetPosition.x = a.x + (this._contentSize.width - this._rect.width) / 2;
- this._offsetPosition.y = a.y + (this._contentSize.height - this._rect.height) / 2;
- this._batchNode && (this.dirty = !0)
- },
- _p = null) : (cc.assert(cc.isFunction(cc._tmp.WebGLLabelTTF), cc._LogInfos.MissingFile, "LabelTTFWebGL.js"), cc._tmp.WebGLLabelTTF(), delete cc._tmp.WebGLLabelTTF);
- cc.assert(cc.isFunction(cc._tmp.PrototypeLabelTTF), cc._LogInfos.MissingFile, "LabelTTFPropertyDefine.js");
- cc._tmp.PrototypeLabelTTF();
- delete cc._tmp.PrototypeLabelTTF;
- cc.LabelTTF._textAlign = ["left", "center", "right"];
- cc.LabelTTF._textBaseline = ["top", "middle", "bottom"];
- cc.LabelTTF.wrapInspection = !0;
- cc.LabelTTF._wordRex = /([a-zA-Z0-9ÄÖÜäöüßéèçàùêâîôû]+|\S)/;
- cc.LabelTTF._symbolRex = /^[!,.:;}\]%\?>\u3001\u2018\u201c\u300b\uff1f\u3002\uff0c\uff01]/;
- cc.LabelTTF._lastWordRex = /([a-zA-Z0-9ÄÖÜäöüßéèçàùêâîôû]+|\S)$/;
- cc.LabelTTF._lastEnglish = /[a-zA-Z0-9ÄÖÜäöüßéèçàùêâîôû]+$/;
- cc.LabelTTF._firsrEnglish = /^[a-zA-Z0-9ÄÖÜäöüßéèçàùêâîôû]/;
- cc.LabelTTF._fontStyleRE = /^(\d+)px\s+['"]?([\w\s\d]+)['"]?$/;
- cc.LabelTTF.create = function (a, b, c, d, e, f) {
- return new cc.LabelTTF(a, b, c, d, e, f)
- };
- cc.LabelTTF.createWithFontDefinition = cc.LabelTTF.create;
- cc.LabelTTF._SHADER_PROGRAM = cc.USE_LA88_LABELS ? cc.SHADER_POSITION_TEXTURECOLOR : cc.SHADER_POSITION_TEXTUREA8COLOR;
- cc.LabelTTF.__labelHeightDiv = cc.newElement("div");
- cc.LabelTTF.__labelHeightDiv.style.fontFamily = "Arial";
- cc.LabelTTF.__labelHeightDiv.style.position = "absolute";
- cc.LabelTTF.__labelHeightDiv.style.left = "-100px";
- cc.LabelTTF.__labelHeightDiv.style.top = "-100px";
- cc.LabelTTF.__labelHeightDiv.style.lineHeight = "normal";
- document.body ? document.body.appendChild(cc.LabelTTF.__labelHeightDiv) : cc._addEventListener(window, "load",
- function () {
- this.removeEventListener("load", arguments.callee, !1);
- document.body.appendChild(cc.LabelTTF.__labelHeightDiv)
- },
- !1);
- cc.LabelTTF.__getFontHeightByDiv = function (a, b) {
- var c = cc.LabelTTF.__fontHeightCache[a + "." + b];
- if (0 < c) return c;
- var d = cc.LabelTTF.__labelHeightDiv;
- d.innerHTML = "ajghl~!";
- d.style.fontFamily = a;
- d.style.fontSize = b + "px";
- c = d.clientHeight;
- cc.LabelTTF.__fontHeightCache[a + "." + b] = c;
- d.innerHTML = "";
- return c
- };
- cc.LabelTTF.__fontHeightCache = {};
- cc.HashElement = cc.Class.extend({
- actions: null,
- target: null,
- actionIndex: 0,
- currentAction: null,
- currentActionSalvaged: !1,
- paused: !1,
- hh: null,
- ctor: function () {
- this.actions = [];
- this.target = null;
- this.actionIndex = 0;
- this.currentAction = null;
- this.paused = this.currentActionSalvaged = !1;
- this.hh = null
- }
- });
- cc.ActionManager = cc.Class.extend({
- _hashTargets: null,
- _arrayTargets: null,
- _currentTarget: null,
- _currentTargetSalvaged: !1,
- _searchElementByTarget: function (a, b) {
- for (var c = 0; c < a.length; c++) if (b == a[c].target) return a[c];
- return null
- },
- ctor: function () {
- this._hashTargets = {};
- this._arrayTargets = [];
- this._currentTarget = null;
- this._currentTargetSalvaged = !1
- },
- addAction: function (a, b, c) {
- if (!a) throw "cc.ActionManager.addAction(): action must be non-null";
- if (!b) throw "cc.ActionManager.addAction(): action must be non-null";
- var d = this._hashTargets[b.__instanceId];
- d || (d = new cc.HashElement, d.paused = c, d.target = b, this._hashTargets[b.__instanceId] = d, this._arrayTargets.push(d));
- this._actionAllocWithHashElement(d);
- d.actions.push(a);
- a.startWithTarget(b)
- },
- removeAllActions: function () {
- for (var a = this._arrayTargets, b = 0; b < a.length; b++) {
- var c = a[b];
- c && this.removeAllActionsFromTarget(c.target, !0)
- }
- },
- removeAllActionsFromTarget: function (a, b) {
- if (null != a) {
- var c = this._hashTargets[a.__instanceId];
- c && (-1 === c.actions.indexOf(c.currentAction) || c.currentActionSalvaged || (c.currentActionSalvaged = !0), c.actions.length = 0, this._currentTarget != c || b ? this._deleteHashElement(c) : this._currentTargetSalvaged = !0)
- }
- },
- removeAction: function (a) {
- if (null != a) {
- var b = a.getOriginalTarget();
- if (b = this._hashTargets[b.__instanceId]) for (var c = 0; c < b.actions.length; c++) {
- if (b.actions[c] == a) {
- b.actions.splice(c, 1);
- break
- }
- } else cc.log(cc._LogInfos.ActionManager_removeAction)
- }
- },
- removeActionByTag: function (a, b) {
- a == cc.ACTION_TAG_INVALID && cc.log(cc._LogInfos.ActionManager_addAction);
- cc.assert(b, cc._LogInfos.ActionManager_addAction);
- var c = this._hashTargets[b.__instanceId];
- if (c) for (var d = c.actions.length, e = 0; e < d; ++e) {
- var f = c.actions[e];
- if (f && f.getTag() === a && f.getOriginalTarget() == b) {
- this._removeActionAtIndex(e, c);
- break
- }
- }
- },
- getActionByTag: function (a, b) {
- a == cc.ACTION_TAG_INVALID && cc.log(cc._LogInfos.ActionManager_getActionByTag);
- var c = this._hashTargets[b.__instanceId];
- if (c) {
- if (null != c.actions) for (var d = 0; d < c.actions.length; ++d) {
- var e = c.actions[d];
- if (e && e.getTag() === a) return e
- }
- cc.log(cc._LogInfos.ActionManager_getActionByTag_2, a)
- }
- return null
- },
- numberOfRunningActionsInTarget: function (a) {
- return (a = this._hashTargets[a.__instanceId]) ? a.actions ? a.actions.length : 0 : 0
- },
- pauseTarget: function (a) {
- if (a = this._hashTargets[a.__instanceId]) a.paused = !0
- },
- resumeTarget: function (a) {
- if (a = this._hashTargets[a.__instanceId]) a.paused = !1
- },
- pauseAllRunningActions: function () {
- for (var a = [], b = this._arrayTargets, c = 0; c < b.length; c++) {
- var d = b[c];
- d && !d.paused && (d.paused = !0, a.push(d.target))
- }
- return a
- },
- resumeTargets: function (a) {
- if (a) for (var b = 0; b < a.length; b++) a[b] && this.resumeTarget(a[b])
- },
- purgeSharedManager: function () {
- cc.director.getScheduler().unscheduleUpdateForTarget(this)
- },
- _removeActionAtIndex: function (a, b) {
- b.actions[a] != b.currentAction || b.currentActionSalvaged || (b.currentActionSalvaged = !0);
- b.actions.splice(a, 1);
- b.actionIndex >= a && b.actionIndex--;
- 0 == b.actions.length && (this._currentTarget == b ? this._currentTargetSalvaged = !0 : this._deleteHashElement(b))
- },
- _deleteHashElement: function (a) {
- a && (delete this._hashTargets[a.target.__instanceId], cc.arrayRemoveObject(this._arrayTargets, a), a.actions = null, a.target = null)
- },
- _actionAllocWithHashElement: function (a) {
- null == a.actions && (a.actions = [])
- },
- update: function (a) {
- for (var b = this._arrayTargets, c, d = 0; d < b.length; d++) {
- c = this._currentTarget = b[d];
- if (!c.paused) for (c.actionIndex = 0; c.actionIndex < c.actions.length; c.actionIndex++) if (c.currentAction = c.actions[c.actionIndex], c.currentAction) {
- c.currentActionSalvaged = !1;
- c.currentAction.step(a * (c.currentAction._speedMethod ? c.currentAction._speed : 1));
- if (c.currentActionSalvaged) c.currentAction = null;
- else if (c.currentAction.isDone()) {
- c.currentAction.stop();
- var e = c.currentAction;
- c.currentAction = null;
- this.removeAction(e)
- }
- c.currentAction = null
- }
- this._currentTargetSalvaged && 0 === c.actions.length && this._deleteHashElement(c)
- }
- }
- });
- cc.kmScalar = Number;
- cc.kmBool = Number;
- cc.kmEnum = Number;
- cc.KM_FALSE = 0;
- cc.KM_TRUE = 1;
- cc.kmPI = 3.141592;
- cc.kmPIOver180 = 0.017453;
- cc.kmPIUnder180 = 57.295779;
- cc.kmEpsilon = 0.015625;
- cc.kmSQR = function (a) {
- return a * a
- };
- cc.kmDegreesToRadians = function (a) {
- return a * cc.kmPIOver180
- };
- cc.kmRadiansToDegrees = function (a) {
- return a * cc.kmPIUnder180
- };
- cc.kmMin = function (a, b) {
- return a < b ? a : b
- };
- cc.kmMax = function (a, b) {
- return a > b ? a : b
- };
- cc.kmAlmostEqual = function (a, b) {
- return a + cc.kmEpsilon > b && a - cc.kmEpsilon < b
- };
- cc.kmVec2 = function (a, b) {
- this.x = a || 0;
- this.y = b || 0
- };
- cc.kmVec2Fill = function (a, b, c) {
- a.x = b;
- a.y = c;
- return a
- };
- cc.kmVec2Length = function (a) {
- return Math.sqrt(cc.kmSQR(a.x) + cc.kmSQR(a.y))
- };
- cc.kmVec2LengthSq = function (a) {
- return cc.kmSQR(a.x) + cc.kmSQR(a.y)
- };
- cc.kmVec2Normalize = function (a, b) {
- var c = 1 / cc.kmVec2Length(b),
- d = new cc.kmVec2;
- d.x = b.x * c;
- d.y = b.y * c;
- a.x = d.x;
- a.y = d.y;
- return a
- };
- cc.kmVec2Add = function (a, b, c) {
- a.x = b.x + c.x;
- a.y = b.y + c.y;
- return a
- };
- cc.kmVec2Dot = function (a, b) {
- return a.x * b.x + a.y * b.y
- };
- cc.kmVec2Subtract = function (a, b, c) {
- a.x = b.x - c.x;
- a.y = b.y - c.y;
- return a
- };
- cc.kmVec2Transform = function (a, b, c) {
- var d = new cc.kmVec2;
- d.x = b.x * c.mat[0] + b.y * c.mat[3] + c.mat[6];
- d.y = b.x * c.mat[1] + b.y * c.mat[4] + c.mat[7];
- a.x = d.x;
- a.y = d.y;
- return a
- };
- cc.kmVec2TransformCoord = function (a, b, c) {
- return null
- };
- cc.kmVec2Scale = function (a, b, c) {
- a.x = b.x * c;
- a.y = b.y * c;
- return a
- };
- cc.kmVec2AreEqual = function (a, b) {
- return a.x < b.x + cc.kmEpsilon && a.x > b.x - cc.kmEpsilon && a.y < b.y + cc.kmEpsilon && a.y > b.y - cc.kmEpsilon
- };
- cc.kmVec3 = function (a, b, c) {
- this.x = a || 0;
- this.y = b || 0;
- this.z = c || 0
- };
- cc.kmVec3Fill = function (a, b, c, d) {
- if (!a) return new cc.kmVec3(b, c, d);
- a.x = b;
- a.y = c;
- a.z = d;
- return a
- };
- cc.kmVec3Length = function (a) {
- return Math.sqrt(cc.kmSQR(a.x) + cc.kmSQR(a.y) + cc.kmSQR(a.z))
- };
- cc.kmVec3LengthSq = function (a) {
- return cc.kmSQR(a.x) + cc.kmSQR(a.y) + cc.kmSQR(a.z)
- };
- cc.kmVec3Normalize = function (a, b) {
- var c = 1 / cc.kmVec3Length(b);
- a.x = b.x * c;
- a.y = b.y * c;
- a.z = b.z * c;
- return a
- };
- cc.kmVec3Cross = function (a, b, c) {
- a.x = b.y * c.z - b.z * c.y;
- a.y = b.z * c.x - b.x * c.z;
- a.z = b.x * c.y - b.y * c.x;
- return a
- };
- cc.kmVec3Dot = function (a, b) {
- return a.x * b.x + a.y * b.y + a.z * b.z
- };
- cc.kmVec3Add = function (a, b, c) {
- a.x = b.x + c.x;
- a.y = b.y + c.y;
- a.z = b.z + c.z;
- return a
- };
- cc.kmVec3Subtract = function (a, b, c) {
- a.x = b.x - c.x;
- a.y = b.y - c.y;
- a.z = b.z - c.z;
- return a
- };
- cc.kmVec3Transform = function (a, b, c) {
- a.x = b.x * c.mat[0] + b.y * c.mat[4] + b.z * c.mat[8] + c.mat[12];
- a.y = b.x * c.mat[1] + b.y * c.mat[5] + b.z * c.mat[9] + c.mat[13];
- a.z = b.x * c.mat[2] + b.y * c.mat[6] + b.z * c.mat[10] + c.mat[14];
- return a
- };
- cc.kmVec3TransformNormal = function (a, b, c) {
- a.x = b.x * c.mat[0] + b.y * c.mat[4] + b.z * c.mat[8];
- a.y = b.x * c.mat[1] + b.y * c.mat[5] + b.z * c.mat[9];
- a.z = b.x * c.mat[2] + b.y * c.mat[6] + b.z * c.mat[10];
- return a
- };
- cc.kmVec3TransformCoord = function (a, b, c) {
- var d = new cc.kmVec4,
- e = new cc.kmVec4;
- cc.kmVec4Fill(e, b.x, b.y, b.z, 1);
- cc.kmVec4Transform(d, e, c);
- a.x = d.x / d.w;
- a.y = d.y / d.w;
- a.z = d.z / d.w;
- return a
- };
- cc.kmVec3Scale = function (a, b, c) {
- a.x = b.x * c;
- a.y = b.y * c;
- a.z = b.z * c;
- return a
- };
- cc.kmVec3AreEqual = function (a, b) {
- return a.x < b.x + cc.kmEpsilon && a.x > b.x - cc.kmEpsilon && a.y < b.y + cc.kmEpsilon && a.y > b.y - cc.kmEpsilon && a.z < b.z + cc.kmEpsilon && a.z > b.z - cc.kmEpsilon ? 1 : 0
- };
- cc.kmVec3InverseTransform = function (a, b, c) {
- b = new cc.kmVec3(b.x - c.mat[12], b.y - c.mat[13], b.z - c.mat[14]);
- a.x = b.x * c.mat[0] + b.y * c.mat[1] + b.z * c.mat[2];
- a.y = b.x * c.mat[4] + b.y * c.mat[5] + b.z * c.mat[6];
- a.z = b.x * c.mat[8] + b.y * c.mat[9] + b.z * c.mat[10];
- return a
- };
- cc.kmVec3InverseTransformNormal = function (a, b, c) {
- a.x = b.x * c.mat[0] + b.y * c.mat[1] + b.z * c.mat[2];
- a.y = b.x * c.mat[4] + b.y * c.mat[5] + b.z * c.mat[6];
- a.z = b.x * c.mat[8] + b.y * c.mat[9] + b.z * c.mat[10];
- return a
- };
- cc.kmVec3Assign = function (a, b) {
- if (a == b) return a;
- a.x = b.x;
- a.y = b.y;
- a.z = b.z;
- return a
- };
- cc.kmVec3Zero = function (a) {
- a.x = 0;
- a.y = 0;
- a.z = 0;
- return a
- };
- cc.kmVec3ToTypeArray = function (a) {
- if (!a) return null;
- var b = new Float32Array(3);
- b[0] = a.x;
- b[1] = a.y;
- b[2] = a.z;
- return b
- };
- cc.kmVec4 = function (a, b, c, d) {
- this.x = a || 0;
- this.y = b || 0;
- this.z = c || 0;
- this.w = d || 0
- };
- cc.kmVec4Fill = function (a, b, c, d, e) {
- a.x = b;
- a.y = c;
- a.z = d;
- a.w = e;
- return a
- };
- cc.kmVec4Add = function (a, b, c) {
- a.x = b.x + c.x;
- a.y = b.y + c.y;
- a.z = b.z + c.z;
- a.w = b.w + c.w;
- return a
- };
- cc.kmVec4Dot = function (a, b) {
- return a.x * b.x + a.y * b.y + a.z * b.z + a.w * b.w
- };
- cc.kmVec4Length = function (a) {
- return Math.sqrt(cc.kmSQR(a.x) + cc.kmSQR(a.y) + cc.kmSQR(a.z) + cc.kmSQR(a.w))
- };
- cc.kmVec4LengthSq = function (a) {
- return cc.kmSQR(a.x) + cc.kmSQR(a.y) + cc.kmSQR(a.z) + cc.kmSQR(a.w)
- };
- cc.kmVec4Lerp = function (a, b, c, d) {
- return a
- };
- cc.kmVec4Normalize = function (a, b) {
- var c = 1 / cc.kmVec4Length(b);
- a.x *= c;
- a.y *= c;
- a.z *= c;
- a.w *= c;
- return a
- };
- cc.kmVec4Scale = function (a, b, c) {
- cc.kmVec4Normalize(a, b);
- a.x *= c;
- a.y *= c;
- a.z *= c;
- a.w *= c;
- return a
- };
- cc.kmVec4Subtract = function (a, b, c) {
- a.x = b.x - c.x;
- a.y = b.y - c.y;
- a.z = b.z - c.z;
- a.w = b.w - c.w;
- return a
- };
- cc.kmVec4Transform = function (a, b, c) {
- a.x = b.x * c.mat[0] + b.y * c.mat[4] + b.z * c.mat[8] + b.w * c.mat[12];
- a.y = b.x * c.mat[1] + b.y * c.mat[5] + b.z * c.mat[9] + b.w * c.mat[13];
- a.z = b.x * c.mat[2] + b.y * c.mat[6] + b.z * c.mat[10] + b.w * c.mat[14];
- a.w = b.x * c.mat[3] + b.y * c.mat[7] + b.z * c.mat[11] + b.w * c.mat[15];
- return a
- };
- cc.kmVec4TransformArray = function (a, b, c, d, e, f) {
- for (var g = 0; g < f;) cc.kmVec4Transform(a + g * b, c + g * d, e),
- ++g;
- return a
- };
- cc.kmVec4AreEqual = function (a, b) {
- return a.x < b.x + cc.kmEpsilon && a.x > b.x - cc.kmEpsilon && a.y < b.y + cc.kmEpsilon && a.y > b.y - cc.kmEpsilon && a.z < b.z + cc.kmEpsilon && a.z > b.z - cc.kmEpsilon && a.w < b.w + cc.kmEpsilon && a.w > b.w - cc.kmEpsilon
- };
- cc.kmVec4Assign = function (a, b) {
- if (a == b) return cc.log("destVec and srcVec are same object"),
- a;
- a.x = b.x;
- a.y = b.y;
- a.z = b.z;
- a.w = b.w;
- return a
- };
- cc.kmVec4ToTypeArray = function (a) {
- if (!a) return null;
- var b = new Float32Array(4);
- b[0] = a.x;
- b[1] = a.y;
- b[2] = a.z;
- b[3] = a.w;
- return b
- };
- cc.kmRay2 = function (a, b) {
- this.start = a || new cc.kmVec2;
- this.start = a || new cc.kmVec2
- };
- cc.kmRay2Fill = function (a, b, c, d, e) {
- a.start.x = b;
- a.start.y = c;
- a.dir.x = d;
- a.dir.y = e
- };
- cc.kmRay2IntersectLineSegment = function (a, b, c, d) {
- var e = a.start.x,
- f = a.start.y,
- g = a.start.x + a.dir.x;
- a = a.start.y + a.dir.y;
- var h = b.x,
- k = b.y,
- m = c.x,
- n = c.y,
- q = (n - k) * (g - e) - (m - h) * (a - f);
- if (q > -cc.kmEpsilon && q < cc.kmEpsilon) return cc.KM_FALSE;
- k = ((m - h) * (f - k) - (n - k) * (e - h)) / q;
- h = e + k * (g - e);
- k = f + k * (a - f);
- if (h < cc.kmMin(b.x, c.x) - cc.kmEpsilon || h > cc.kmMax(b.x, c.x) + cc.kmEpsilon || k < cc.kmMin(b.y, c.y) - cc.kmEpsilon || k > cc.kmMax(b.y, c.y) + cc.kmEpsilon || h < cc.kmMin(e, g) - cc.kmEpsilon || h > cc.kmMax(e, g) + cc.kmEpsilon || k < cc.kmMin(f, a) - cc.kmEpsilon || k > cc.kmMax(f, a) + cc.kmEpsilon) return cc.KM_FALSE;
- d.x = h;
- d.y = k;
- return cc.KM_TRUE
- };
- cc.calculate_line_normal = function (a, b, c) {
- var d = new cc.kmVec2;
- cc.kmVec2Subtract(d, b, a);
- c.x = -d.y;
- c.y = d.x;
- cc.kmVec2Normalize(c, c)
- };
- cc.kmRay2IntersectTriangle = function (a, b, c, d, e, f) {
- var g = new cc.kmVec2,
- h = new cc.kmVec2,
- k = new cc.kmVec2,
- m = 1E4,
- n = cc.KM_FALSE,
- q;
- cc.kmRay2IntersectLineSegment(a, b, c, g) && (q = new cc.kmVec2, n = cc.KM_TRUE, q = cc.kmVec2Length(cc.kmVec2Subtract(q, g, a.start)), q < m && (h.x = g.x, h.y = g.y, m = q, cc.calculate_line_normal(b, c, k)));
- cc.kmRay2IntersectLineSegment(a, c, d, g) && (q = new cc.kmVec2, n = cc.KM_TRUE, q = cc.kmVec2Length(cc.kmVec2Subtract(q, g, a.start)), q < m && (h.x = g.x, h.y = g.y, m = q, cc.calculate_line_normal(c, d, k)));
- cc.kmRay2IntersectLineSegment(a, d, b, g) && (q = new cc.kmVec2, n = cc.KM_TRUE, q = cc.kmVec2Length(cc.kmVec2Subtract(q, g, a.start)), q < m && (h.x = g.x, h.y = g.y, cc.calculate_line_normal(d, b, k)));
- n && (e.x = h.x, e.y = h.y, f && (f.x = k.x, f.y = k.y));
- return n
- };
- cc.kmRay2IntersectCircle = function (a, b, c, d) {
- cc.log("cc.kmRay2IntersectCircle() has not been implemented.")
- };
- var Float32Array = Float32Array || Array;
- cc.kmMat3 = function () {
- this.mat = new Float32Array([0, 0, 0, 0, 0, 0, 0, 0, 0])
- };
- cc.kmMat3Fill = function (a, b) {
- for (var c = 0; 9 > c; c++) a.mat[c] = b;
- return a
- };
- cc.kmMat3Adjugate = function (a, b) {
- a.mat[0] = b.mat[4] * b.mat[8] - b.mat[5] * b.mat[7];
- a.mat[1] = b.mat[2] * b.mat[7] - b.mat[1] * b.mat[8];
- a.mat[2] = b.mat[1] * b.mat[5] - b.mat[2] * b.mat[4];
- a.mat[3] = b.mat[5] * b.mat[6] - b.mat[3] * b.mat[8];
- a.mat[4] = b.mat[0] * b.mat[8] - b.mat[2] * b.mat[6];
- a.mat[5] = b.mat[2] * b.mat[3] - b.mat[0] * b.mat[5];
- a.mat[6] = b.mat[3] * b.mat[7] - b.mat[4] * b.mat[6];
- a.mat[8] = b.mat[0] * b.mat[4] - b.mat[1] * b.mat[3];
- return a
- };
- cc.kmMat3Identity = function (a) {
- a.mat[1] = a.mat[2] = a.mat[3] = a.mat[5] = a.mat[6] = a.mat[7] = 0;
- a.mat[0] = a.mat[4] = a.mat[8] = 1;
- return a
- };
- cc.kmMat3Inverse = function (a, b, c) {
- var d = new cc.kmMat3;
- if (0 === b) return null;
- b = 1 / b;
- cc.kmMat3Adjugate(d, c);
- cc.kmMat3ScalarMultiply(a, d, b);
- return a
- };
- cc.kmMat3._identity = new Float32Array([1, 0, 0, 0, 1, 0, 0, 0, 1]);
- cc.kmMat3IsIdentity = function (a) {
- for (var b = 0; 9 > b; b++) if (cc.kmMat3._identity[b] !== a.mat[b]) return !1;
- return !0
- };
- cc.kmMat3Transpose = function (a, b) {
- var c,
- d;
- for (c = 0; 3 > c; ++c) for (d = 0; 3 > d; ++d) a.mat[3 * c + d] = b.mat[3 * d + c];
- return a
- };
- cc.kmMat3Determinant = function (a) {
- var b;
- b = a.mat[0] * a.mat[4] * a.mat[8] + a.mat[1] * a.mat[5] * a.mat[6] + a.mat[2] * a.mat[3] * a.mat[7];
- return b -= a.mat[2] * a.mat[4] * a.mat[6] + a.mat[0] * a.mat[5] * a.mat[7] + a.mat[1] * a.mat[3] * a.mat[8]
- };
- cc.kmMat3Multiply = function (a, b, c) {
- b = b.mat;
- c = c.mat;
- a.mat[0] = b[0] * c[0] + b[3] * c[1] + b[6] * c[2];
- a.mat[1] = b[1] * c[0] + b[4] * c[1] + b[7] * c[2];
- a.mat[2] = b[2] * c[0] + b[5] * c[1] + b[8] * c[2];
- a.mat[3] = b[0] * c[3] + b[3] * c[4] + b[6] * c[5];
- a.mat[4] = b[1] * c[3] + b[4] * c[4] + b[7] * c[5];
- a.mat[5] = b[2] * c[3] + b[5] * c[4] + b[8] * c[5];
- a.mat[6] = b[0] * c[6] + b[3] * c[7] + b[6] * c[8];
- a.mat[7] = b[1] * c[6] + b[4] * c[7] + b[7] * c[8];
- a.mat[8] = b[2] * c[6] + b[5] * c[7] + b[8] * c[8];
- return a
- };
- cc.kmMat3ScalarMultiply = function (a, b, c) {
- for (var d = 0; 9 > d; d++) a.mat[d] = b.mat[d] * c;
- return a
- };
- cc.kmMat3RotationAxisAngle = function (a, b, c) {
- var d = Math.cos(c);
- c = Math.sin(c);
- a.mat[0] = d + b.x * b.x * (1 - d);
- a.mat[1] = b.z * c + b.y * b.x * (1 - d);
- a.mat[2] = -b.y * c + b.z * b.x * (1 - d);
- a.mat[3] = -b.z * c + b.x * b.y * (1 - d);
- a.mat[4] = d + b.y * b.y * (1 - d);
- a.mat[5] = b.x * c + b.z * b.y * (1 - d);
- a.mat[6] = b.y * c + b.x * b.z * (1 - d);
- a.mat[7] = -b.x * c + b.y * b.z * (1 - d);
- a.mat[8] = d + b.z * b.z * (1 - d);
- return a
- };
- cc.kmMat3Assign = function (a, b) {
- if (a == b) return cc.log("cc.kmMat3Assign(): pOut equals pIn"),
- a;
- for (var c = 0; 9 > c; c++) a.mat[c] = b.mat[c];
- return a
- };
- cc.kmMat3AreEqual = function (a, b) {
- if (a == b) return !0;
- for (var c = 0; 9 > c; ++c) if (!(a.mat[c] + cc.kmEpsilon > b.mat[c] && a.mat[c] - cc.kmEpsilon < b.mat[c])) return !1;
- return !0
- };
- cc.kmMat3RotationX = function (a, b) {
- a.mat[0] = 1;
- a.mat[1] = 0;
- a.mat[2] = 0;
- a.mat[3] = 0;
- a.mat[4] = Math.cos(b);
- a.mat[5] = Math.sin(b);
- a.mat[6] = 0;
- a.mat[7] = -Math.sin(b);
- a.mat[8] = Math.cos(b);
- return a
- };
- cc.kmMat3RotationY = function (a, b) {
- a.mat[0] = Math.cos(b);
- a.mat[1] = 0;
- a.mat[2] = -Math.sin(b);
- a.mat[3] = 0;
- a.mat[4] = 1;
- a.mat[5] = 0;
- a.mat[6] = Math.sin(b);
- a.mat[7] = 0;
- a.mat[8] = Math.cos(b);
- return a
- };
- cc.kmMat3RotationZ = function (a, b) {
- a.mat[0] = Math.cos(b);
- a.mat[1] = -Math.sin(b);
- a.mat[2] = 0;
- a.mat[3] = Math.sin(b);
- a.mat[4] = Math.cos(b);
- a.mat[5] = 0;
- a.mat[6] = 0;
- a.mat[7] = 0;
- a.mat[8] = 1;
- return a
- };
- cc.kmMat3Rotation = function (a, b) {
- a.mat[0] = Math.cos(b);
- a.mat[1] = Math.sin(b);
- a.mat[2] = 0;
- a.mat[3] = -Math.sin(b);
- a.mat[4] = Math.cos(b);
- a.mat[5] = 0;
- a.mat[6] = 0;
- a.mat[7] = 0;
- a.mat[8] = 1;
- return a
- };
- cc.kmMat3Scaling = function (a, b, c) {
- cc.kmMat3Identity(a);
- a.mat[0] = b;
- a.mat[4] = c;
- return a
- };
- cc.kmMat3Translation = function (a, b, c) {
- cc.kmMat3Identity(a);
- a.mat[6] = b;
- a.mat[7] = c;
- return a
- };
- cc.kmMat3RotationQuaternion = function (a, b) {
- if (!b || !a) return null;
- a.mat[0] = 1 - 2 * (b.y * b.y + b.z * b.z);
- a.mat[1] = 2 * (b.x * b.y - b.w * b.z);
- a.mat[2] = 2 * (b.x * b.z + b.w * b.y);
- a.mat[3] = 2 * (b.x * b.y + b.w * b.z);
- a.mat[4] = 1 - 2 * (b.x * b.x + b.z * b.z);
- a.mat[5] = 2 * (b.y * b.z - b.w * b.x);
- a.mat[6] = 2 * (b.x * b.z - b.w * b.y);
- a.mat[7] = 2 * (b.y * b.z + b.w * b.x);
- a.mat[8] = 1 - 2 * (b.x * b.x + b.y * b.y);
- return a
- };
- cc.kmMat3RotationToAxisAngle = function (a, b, c) {
- cc.kmQuaternionRotationMatrix(void 0, c);
- cc.kmQuaternionToAxisAngle(void 0, a, b);
- return a
- };
- cc.kmMat4 = function () {
- this.mat = new Float32Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
- };
- cc.kmMat4Fill = function (a, b) {
- a.mat[0] = a.mat[1] = a.mat[2] = a.mat[3] = a.mat[4] = a.mat[5] = a.mat[6] = a.mat[7] = a.mat[8] = a.mat[9] = a.mat[10] = a.mat[11] = a.mat[12] = a.mat[13] = a.mat[14] = a.mat[15] = b
- };
- cc.kmMat4Identity = function (a) {
- a.mat[1] = a.mat[2] = a.mat[3] = a.mat[4] = a.mat[6] = a.mat[7] = a.mat[8] = a.mat[9] = a.mat[11] = a.mat[12] = a.mat[13] = a.mat[14] = 0;
- a.mat[0] = a.mat[5] = a.mat[10] = a.mat[15] = 1;
- return a
- };
- cc.kmMat4._get = function (a, b, c) {
- return a.mat[b + 4 * c]
- };
- cc.kmMat4._set = function (a, b, c, d) {
- a.mat[b + 4 * c] = d
- };
- cc.kmMat4._swap = function (a, b, c, d, e) {
- var f = cc.kmMat4._get(a, b, c);
- cc.kmMat4._set(a, b, c, cc.kmMat4._get(a, d, e));
- cc.kmMat4._set(a, d, e, f)
- };
- cc.kmMat4._gaussj = function (a, b) {
- var c,
- d = 0,
- e = 0,
- f,
- g,
- h,
- k = [0, 0, 0, 0],
- m = [0, 0, 0, 0],
- n = [0, 0, 0, 0];
- for (c = 0; 4 > c; c++) {
- for (f = h = 0; 4 > f; f++) if (1 != n[f]) for (g = 0; 4 > g; g++) 0 == n[g] && Math.abs(cc.kmMat4._get(a, f, g)) >= h && (h = Math.abs(cc.kmMat4._get(a, f, g)), e = f, d = g); ++n[d];
- if (e != d) {
- for (f = 0; 4 > f; f++) cc.kmMat4._swap(a, e, f, d, f);
- for (f = 0; 4 > f; f++) cc.kmMat4._swap(b, e, f, d, f)
- }
- m[c] = e;
- k[c] = d;
- if (0 == cc.kmMat4._get(a, d, d)) return cc.KM_FALSE;
- g = 1 / cc.kmMat4._get(a, d, d);
- cc.kmMat4._set(a, d, d, 1);
- for (f = 0; 4 > f; f++) cc.kmMat4._set(a, d, f, cc.kmMat4._get(a, d, f) * g);
- for (f = 0; 4 > f; f++) cc.kmMat4._set(b, d, f, cc.kmMat4._get(b, d, f) * g);
- for (g = 0; 4 > g; g++) if (g != d) {
- h = cc.kmMat4._get(a, g, d);
- cc.kmMat4._set(a, g, d, 0);
- for (f = 0; 4 > f; f++) cc.kmMat4._set(a, g, f, cc.kmMat4._get(a, g, f) - cc.kmMat4._get(a, d, f) * h);
- for (f = 0; 4 > f; f++) cc.kmMat4._set(b, g, f, cc.kmMat4._get(a, g, f) - cc.kmMat4._get(b, d, f) * h)
- }
- }
- for (f = 3; 0 <= f; f--) if (m[f] != k[f]) for (g = 0; 4 > g; g++) cc.kmMat4._swap(a, g, m[f], g, k[f]);
- return cc.KM_TRUE
- };
- cc.kmMat4._identity = new Float32Array([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]);
- cc.kmMat4Inverse = function (a, b) {
- var c = new cc.kmMat4,
- d = new cc.kmMat4;
- cc.kmMat4Assign(c, b);
- cc.kmMat4Identity(d);
- if (cc.kmMat4._gaussj(c, d) == cc.KM_FALSE) return null;
- cc.kmMat4Assign(a, c);
- return a
- };
- cc.kmMat4IsIdentity = function (a) {
- for (var b = 0; 16 > b; b++) if (cc.kmMat4._identity[b] != a.mat[b]) return !1;
- return !0
- };
- cc.kmMat4Transpose = function (a, b) {
- var c,
- d,
- e = a.mat,
- f = b.mat;
- for (d = 0; 4 > d; ++d) for (c = 0; 4 > c; ++c) e[4 * d + c] = f[4 * c + d];
- return a
- };
- cc.kmMat4Multiply = function (a, b, c) {
- var d = a.mat,
- e = b.mat[0],
- f = b.mat[1],
- g = b.mat[2],
- h = b.mat[3],
- k = b.mat[4],
- m = b.mat[5],
- n = b.mat[6],
- q = b.mat[7],
- r = b.mat[8],
- s = b.mat[9],
- t = b.mat[10],
- u = b.mat[11],
- v = b.mat[12],
- w = b.mat[13],
- x = b.mat[14];
- b = b.mat[15];
- var y = c.mat[0],
- z = c.mat[1],
- A = c.mat[2],
- B = c.mat[3],
- C = c.mat[4],
- D = c.mat[5],
- E = c.mat[6],
- F = c.mat[7],
- G = c.mat[8],
- H = c.mat[9],
- I = c.mat[10],
- J = c.mat[11],
- K = c.mat[12],
- L = c.mat[13],
- M = c.mat[14];
- c = c.mat[15];
- d[0] = y * e + z * k + A * r + B * v;
- d[1] = y * f + z * m + A * s + B * w;
- d[2] = y * g + z * n + A * t + B * x;
- d[3] = y * h + z * q + A * u + B * b;
- d[4] = C * e + D * k + E * r + F * v;
- d[5] = C * f + D * m + E * s + F * w;
- d[6] = C * g + D * n + E * t + F * x;
- d[7] = C * h + D * q + E * u + F * b;
- d[8] = G * e + H * k + I * r + J * v;
- d[9] = G * f + H * m + I * s + J * w;
- d[10] = G * g + H * n + I * t + J * x;
- d[11] = G * h + H * q + I * u + J * b;
- d[12] = K * e + L * k + M * r + c * v;
- d[13] = K * f + L * m + M * s + c * w;
- d[14] = K * g + L * n + M * t + c * x;
- d[15] = K * h + L * q + M * u + c * b;
- return a
- };
- cc.getMat4MultiplyValue = function (a, b) {
- var c = a.mat,
- d = b.mat,
- e = new Float32Array(16);
- e[0] = c[0] * d[0] + c[4] * d[1] + c[8] * d[2] + c[12] * d[3];
- e[1] = c[1] * d[0] + c[5] * d[1] + c[9] * d[2] + c[13] * d[3];
- e[2] = c[2] * d[0] + c[6] * d[1] + c[10] * d[2] + c[14] * d[3];
- e[3] = c[3] * d[0] + c[7] * d[1] + c[11] * d[2] + c[15] * d[3];
- e[4] = c[0] * d[4] + c[4] * d[5] + c[8] * d[6] + c[12] * d[7];
- e[5] = c[1] * d[4] + c[5] * d[5] + c[9] * d[6] + c[13] * d[7];
- e[6] = c[2] * d[4] + c[6] * d[5] + c[10] * d[6] + c[14] * d[7];
- e[7] = c[3] * d[4] + c[7] * d[5] + c[11] * d[6] + c[15] * d[7];
- e[8] = c[0] * d[8] + c[4] * d[9] + c[8] * d[10] + c[12] * d[11];
- e[9] = c[1] * d[8] + c[5] * d[9] + c[9] * d[10] + c[13] * d[11];
- e[10] = c[2] * d[8] + c[6] * d[9] + c[10] * d[10] + c[14] * d[11];
- e[11] = c[3] * d[8] + c[7] * d[9] + c[11] * d[10] + c[15] * d[11];
- e[12] = c[0] * d[12] + c[4] * d[13] + c[8] * d[14] + c[12] * d[15];
- e[13] = c[1] * d[12] + c[5] * d[13] + c[9] * d[14] + c[13] * d[15];
- e[14] = c[2] * d[12] + c[6] * d[13] + c[10] * d[14] + c[14] * d[15];
- e[15] = c[3] * d[12] + c[7] * d[13] + c[11] * d[14] + c[15] * d[15];
- return e
- };
- cc.getMat4MultiplyWithMat4 = function (a, b, c) {
- a = a.mat;
- b = b.mat;
- var d = c.mat;
- d[0] = a[0] * b[0] + a[4] * b[1] + a[8] * b[2] + a[12] * b[3];
- d[1] = a[1] * b[0] + a[5] * b[1] + a[9] * b[2] + a[13] * b[3];
- d[2] = a[2] * b[0] + a[6] * b[1] + a[10] * b[2] + a[14] * b[3];
- d[3] = a[3] * b[0] + a[7] * b[1] + a[11] * b[2] + a[15] * b[3];
- d[4] = a[0] * b[4] + a[4] * b[5] + a[8] * b[6] + a[12] * b[7];
- d[5] = a[1] * b[4] + a[5] * b[5] + a[9] * b[6] + a[13] * b[7];
- d[6] = a[2] * b[4] + a[6] * b[5] + a[10] * b[6] + a[14] * b[7];
- d[7] = a[3] * b[4] + a[7] * b[5] + a[11] * b[6] + a[15] * b[7];
- d[8] = a[0] * b[8] + a[4] * b[9] + a[8] * b[10] + a[12] * b[11];
- d[9] = a[1] * b[8] + a[5] * b[9] + a[9] * b[10] + a[13] * b[11];
- d[10] = a[2] * b[8] + a[6] * b[9] + a[10] * b[10] + a[14] * b[11];
- d[11] = a[3] * b[8] + a[7] * b[9] + a[11] * b[10] + a[15] * b[11];
- d[12] = a[0] * b[12] + a[4] * b[13] + a[8] * b[14] + a[12] * b[15];
- d[13] = a[1] * b[12] + a[5] * b[13] + a[9] * b[14] + a[13] * b[15];
- d[14] = a[2] * b[12] + a[6] * b[13] + a[10] * b[14] + a[14] * b[15];
- d[15] = a[3] * b[12] + a[7] * b[13] + a[11] * b[14] + a[15] * b[15];
- return c.mat
- };
- cc.kmMat4Assign = function (a, b) {
- if (a == b) return cc.log("cc.kmMat4Assign(): pOut equals pIn"),
- a;
- var c = a.mat,
- d = b.mat;
- c[0] = d[0];
- c[1] = d[1];
- c[2] = d[2];
- c[3] = d[3];
- c[4] = d[4];
- c[5] = d[5];
- c[6] = d[6];
- c[7] = d[7];
- c[8] = d[8];
- c[9] = d[9];
- c[10] = d[10];
- c[11] = d[11];
- c[12] = d[12];
- c[13] = d[13];
- c[14] = d[14];
- c[15] = d[15];
- return a
- };
- cc.kmMat4AreEqual = function (a, b) {
- if (a == b) return cc.log("cc.kmMat4AreEqual(): pMat1 and pMat2 are same object."),
- !0;
- for (var c = 0; 16 > c; c++) if (!(a.mat[c] + cc.kmEpsilon > b.mat[c] && a.mat[c] - cc.kmEpsilon < b.mat[c])) return !1;
- return !0
- };
- cc.kmMat4RotationX = function (a, b) {
- a.mat[0] = 1;
- a.mat[1] = 0;
- a.mat[2] = 0;
- a.mat[3] = 0;
- a.mat[4] = 0;
- a.mat[5] = Math.cos(b);
- a.mat[6] = Math.sin(b);
- a.mat[7] = 0;
- a.mat[8] = 0;
- a.mat[9] = -Math.sin(b);
- a.mat[10] = Math.cos(b);
- a.mat[11] = 0;
- a.mat[12] = 0;
- a.mat[13] = 0;
- a.mat[14] = 0;
- a.mat[15] = 1;
- return a
- };
- cc.kmMat4RotationY = function (a, b) {
- a.mat[0] = Math.cos(b);
- a.mat[1] = 0;
- a.mat[2] = -Math.sin(b);
- a.mat[3] = 0;
- a.mat[4] = 0;
- a.mat[5] = 1;
- a.mat[6] = 0;
- a.mat[7] = 0;
- a.mat[8] = Math.sin(b);
- a.mat[9] = 0;
- a.mat[10] = Math.cos(b);
- a.mat[11] = 0;
- a.mat[12] = 0;
- a.mat[13] = 0;
- a.mat[14] = 0;
- a.mat[15] = 1;
- return a
- };
- cc.kmMat4RotationZ = function (a, b) {
- a.mat[0] = Math.cos(b);
- a.mat[1] = Math.sin(b);
- a.mat[2] = 0;
- a.mat[3] = 0;
- a.mat[4] = -Math.sin(b);
- a.mat[5] = Math.cos(b);
- a.mat[6] = 0;
- a.mat[7] = 0;
- a.mat[8] = 0;
- a.mat[9] = 0;
- a.mat[10] = 1;
- a.mat[11] = 0;
- a.mat[12] = 0;
- a.mat[13] = 0;
- a.mat[14] = 0;
- a.mat[15] = 1;
- return a
- };
- cc.kmMat4RotationPitchYawRoll = function (a, b, c, d) {
- var e = Math.cos(b);
- b = Math.sin(b);
- var f = Math.cos(c);
- c = Math.sin(c);
- var g = Math.cos(d);
- d = Math.sin(d);
- var h = b * c,
- k = e * c;
- a.mat[0] = f * g;
- a.mat[4] = f * d;
- a.mat[8] = -c;
- a.mat[1] = h * g - e * d;
- a.mat[5] = h * d + e * g;
- a.mat[9] = b * f;
- a.mat[2] = k * g + b * d;
- a.mat[6] = k * d - b * g;
- a.mat[10] = e * f;
- a.mat[3] = a.mat[7] = a.mat[11] = 0;
- a.mat[15] = 1;
- return a
- };
- cc.kmMat4RotationQuaternion = function (a, b) {
- a.mat[0] = 1 - 2 * (b.y * b.y + b.z * b.z);
- a.mat[1] = 2 * (b.x * b.y + b.z * b.w);
- a.mat[2] = 2 * (b.x * b.z - b.y * b.w);
- a.mat[3] = 0;
- a.mat[4] = 2 * (b.x * b.y - b.z * b.w);
- a.mat[5] = 1 - 2 * (b.x * b.x + b.z * b.z);
- a.mat[6] = 2 * (b.z * b.y + b.x * b.w);
- a.mat[7] = 0;
- a.mat[8] = 2 * (b.x * b.z + b.y * b.w);
- a.mat[9] = 2 * (b.y * b.z - b.x * b.w);
- a.mat[10] = 1 - 2 * (b.x * b.x + b.y * b.y);
- a.mat[11] = 0;
- a.mat[12] = 0;
- a.mat[13] = 0;
- a.mat[14] = 0;
- a.mat[15] = 1;
- return a
- };
- cc.kmMat4RotationTranslation = function (a, b, c) {
- a.mat[0] = b.mat[0];
- a.mat[1] = b.mat[1];
- a.mat[2] = b.mat[2];
- a.mat[3] = 0;
- a.mat[4] = b.mat[3];
- a.mat[5] = b.mat[4];
- a.mat[6] = b.mat[5];
- a.mat[7] = 0;
- a.mat[8] = b.mat[6];
- a.mat[9] = b.mat[7];
- a.mat[10] = b.mat[8];
- a.mat[11] = 0;
- a.mat[12] = c.x;
- a.mat[13] = c.y;
- a.mat[14] = c.z;
- a.mat[15] = 1;
- return a
- };
- cc.kmMat4Scaling = function (a, b, c, d) {
- a.mat[0] = b;
- a.mat[5] = c;
- a.mat[10] = d;
- a.mat[15] = 1;
- a.mat[1] = a.mat[2] = a.mat[3] = a.mat[4] = a.mat[6] = a.mat[7] = a.mat[8] = a.mat[9] = a.mat[11] = a.mat[12] = a.mat[13] = a.mat[14] = 0;
- return a
- };
- cc.kmMat4Translation = function (a, b, c, d) {
- a.mat[0] = a.mat[5] = a.mat[10] = a.mat[15] = 1;
- a.mat[1] = a.mat[2] = a.mat[3] = a.mat[4] = a.mat[6] = a.mat[7] = a.mat[8] = a.mat[9] = a.mat[11] = 0;
- a.mat[12] = b;
- a.mat[13] = c;
- a.mat[14] = d;
- return a
- };
- cc.kmMat4GetUpVec3 = function (a, b) {
- a.x = b.mat[4];
- a.y = b.mat[5];
- a.z = b.mat[6];
- cc.kmVec3Normalize(a, a);
- return a
- };
- cc.kmMat4GetRightVec3 = function (a, b) {
- a.x = b.mat[0];
- a.y = b.mat[1];
- a.z = b.mat[2];
- cc.kmVec3Normalize(a, a);
- return a
- };
- cc.kmMat4GetForwardVec3 = function (a, b) {
- a.x = b.mat[8];
- a.y = b.mat[9];
- a.z = b.mat[10];
- cc.kmVec3Normalize(a, a);
- return a
- };
- cc.kmMat4PerspectiveProjection = function (a, b, c, d, e) {
- var f = cc.kmDegreesToRadians(b / 2);
- b = e - d;
- var g = Math.sin(f);
- if (0 == b || 0 == g || 0 == c) return null;
- f = Math.cos(f) / g;
- cc.kmMat4Identity(a);
- a.mat[0] = f / c;
- a.mat[5] = f;
- a.mat[10] = -(e + d) / b;
- a.mat[11] = -1;
- a.mat[14] = -2 * d * e / b;
- a.mat[15] = 0;
- return a
- };
- cc.kmMat4OrthographicProjection = function (a, b, c, d, e, f, g) {
- cc.kmMat4Identity(a);
- a.mat[0] = 2 / (c - b);
- a.mat[5] = 2 / (e - d);
- a.mat[10] = -2 / (g - f);
- a.mat[12] = -((c + b) / (c - b));
- a.mat[13] = -((e + d) / (e - d));
- a.mat[14] = -((g + f) / (g - f));
- return a
- };
- cc.kmMat4LookAt = function (a, b, c, d) {
- var e = new cc.kmVec3,
- f = new cc.kmVec3,
- g = new cc.kmVec3,
- h = new cc.kmVec3,
- k = new cc.kmMat4;
- cc.kmVec3Subtract(e, c, b);
- cc.kmVec3Normalize(e, e);
- cc.kmVec3Assign(f, d);
- cc.kmVec3Normalize(f, f);
- cc.kmVec3Cross(g, e, f);
- cc.kmVec3Normalize(g, g);
- cc.kmVec3Cross(h, g, e);
- cc.kmVec3Normalize(g, g);
- cc.kmMat4Identity(a);
- a.mat[0] = g.x;
- a.mat[4] = g.y;
- a.mat[8] = g.z;
- a.mat[1] = h.x;
- a.mat[5] = h.y;
- a.mat[9] = h.z;
- a.mat[2] = -e.x;
- a.mat[6] = -e.y;
- a.mat[10] = -e.z;
- cc.kmMat4Translation(k, -b.x, -b.y, -b.z);
- cc.kmMat4Multiply(a, a, k);
- return a
- };
- cc.kmMat4RotationAxisAngle = function (a, b, c) {
- var d = Math.cos(c);
- c = Math.sin(c);
- var e = new cc.kmVec3;
- cc.kmVec3Normalize(e, b);
- a.mat[0] = d + e.x * e.x * (1 - d);
- a.mat[1] = e.z * c + e.y * e.x * (1 - d);
- a.mat[2] = -e.y * c + e.z * e.x * (1 - d);
- a.mat[3] = 0;
- a.mat[4] = -e.z * c + e.x * e.y * (1 - d);
- a.mat[5] = d + e.y * e.y * (1 - d);
- a.mat[6] = e.x * c + e.z * e.y * (1 - d);
- a.mat[7] = 0;
- a.mat[8] = e.y * c + e.x * e.z * (1 - d);
- a.mat[9] = -e.x * c + e.y * e.z * (1 - d);
- a.mat[10] = d + e.z * e.z * (1 - d);
- a.mat[11] = 0;
- a.mat[12] = 0;
- a.mat[13] = 0;
- a.mat[14] = 0;
- a.mat[15] = 1;
- return a
- };
- cc.kmMat4ExtractRotation = function (a, b) {
- a.mat[0] = b.mat[0];
- a.mat[1] = b.mat[1];
- a.mat[2] = b.mat[2];
- a.mat[3] = b.mat[4];
- a.mat[4] = b.mat[5];
- a.mat[5] = b.mat[6];
- a.mat[6] = b.mat[8];
- a.mat[7] = b.mat[9];
- a.mat[8] = b.mat[10];
- return a
- };
- cc.kmMat4ExtractPlane = function (a, b, c) {
- switch (c) {
- case cc.KM_PLANE_RIGHT:
- a.a = b.mat[3] - b.mat[0];
- a.b = b.mat[7] - b.mat[4];
- a.c = b.mat[11] - b.mat[8];
- a.d = b.mat[15] - b.mat[12];
- break;
- case cc.KM_PLANE_LEFT:
- a.a = b.mat[3] + b.mat[0];
- a.b = b.mat[7] + b.mat[4];
- a.c = b.mat[11] + b.mat[8];
- a.d = b.mat[15] + b.mat[12];
- break;
- case cc.KM_PLANE_BOTTOM:
- a.a = b.mat[3] + b.mat[1];
- a.b = b.mat[7] + b.mat[5];
- a.c = b.mat[11] + b.mat[9];
- a.d = b.mat[15] + b.mat[13];
- break;
- case cc.KM_PLANE_TOP:
- a.a = b.mat[3] - b.mat[1];
- a.b = b.mat[7] - b.mat[5];
- a.c = b.mat[11] - b.mat[9];
- a.d = b.mat[15] -
- b.mat[13];
- break;
- case cc.KM_PLANE_FAR:
- a.a = b.mat[3] - b.mat[2];
- a.b = b.mat[7] - b.mat[6];
- a.c = b.mat[11] - b.mat[10];
- a.d = b.mat[15] - b.mat[14];
- break;
- case cc.KM_PLANE_NEAR:
- a.a = b.mat[3] + b.mat[2];
- a.b = b.mat[7] + b.mat[6];
- a.c = b.mat[11] + b.mat[10];
- a.d = b.mat[15] + b.mat[14];
- break;
- default:
- cc.log("cc.kmMat4ExtractPlane(): Invalid plane index")
- }
- b = Math.sqrt(a.a * a.a + a.b * a.b + a.c * a.c);
- a.a /= b;
- a.b /= b;
- a.c /= b;
- a.d /= b;
- return a
- };
- cc.kmMat4RotationToAxisAngle = function (a, b, c) {
- var d = new cc.kmQuaternion,
- e = new cc.kmMat3;
- cc.kmMat4ExtractRotation(e, c);
- cc.kmQuaternionRotationMatrix(d, e);
- cc.kmQuaternionToAxisAngle(d, a, b);
- return a
- };
- cc.KM_PLANE_LEFT = 0;
- cc.KM_PLANE_RIGHT = 1;
- cc.KM_PLANE_BOTTOM = 2;
- cc.KM_PLANE_TOP = 3;
- cc.KM_PLANE_NEAR = 4;
- cc.KM_PLANE_FAR = 5;
- cc.kmPlane = function (a, b, c, d) {
- this.a = a || 0;
- this.b = b || 0;
- this.c = c || 0;
- this.d = d || 0
- };
- cc.POINT_INFRONT_OF_PLANE = 0;
- cc.POINT_BEHIND_PLANE = 1;
- cc.POINT_ON_PLANE = 2;
- cc.kmPlaneDot = function (a, b) {
- return a.a * b.x + a.b * b.y + a.c * b.z + a.d * b.w
- };
- cc.kmPlaneDotCoord = function (a, b) {
- return a.a * b.x + a.b * b.y + a.c * b.z + a.d
- };
- cc.kmPlaneDotNormal = function (a, b) {
- return a.a * b.x + a.b * b.y + a.c * b.z
- };
- cc.kmPlaneFromPointNormal = function (a, b, c) {
- a.a = c.x;
- a.b = c.y;
- a.c = c.z;
- a.d = -cc.kmVec3Dot(c, b);
- return a
- };
- cc.kmPlaneFromPoints = function (a, b, c, d) {
- var e = new cc.kmVec3,
- f = new cc.kmVec3,
- g = new cc.kmVec3;
- cc.kmVec3Subtract(f, c, b);
- cc.kmVec3Subtract(g, d, b);
- cc.kmVec3Cross(e, f, g);
- cc.kmVec3Normalize(e, e);
- a.a = e.x;
- a.b = e.y;
- a.c = e.z;
- a.d = cc.kmVec3Dot(cc.kmVec3Scale(e, e, -1), b);
- return a
- };
- cc.kmPlaneIntersectLine = function (a, b, c, d) {
- throw "cc.kmPlaneIntersectLine() hasn't been implemented.";
- };
- cc.kmPlaneNormalize = function (a, b) {
- var c = new cc.kmVec3;
- c.x = b.a;
- c.y = b.b;
- c.z = b.c;
- var d = 1 / cc.kmVec3Length(c);
- cc.kmVec3Normalize(c, c);
- a.a = c.x;
- a.b = c.y;
- a.c = c.z;
- a.d = b.d * d;
- return a
- };
- cc.kmPlaneScale = function (a, b, c) {
- cc.log("cc.kmPlaneScale() has not been implemented.")
- };
- cc.kmPlaneClassifyPoint = function (a, b) {
- var c = a.a * b.x + a.b * b.y + a.c * b.z + a.d;
- return 0.001 < c ? cc.POINT_INFRONT_OF_PLANE : -0.001 > c ? cc.POINT_BEHIND_PLANE : cc.POINT_ON_PLANE
- };
- cc.kmQuaternion = function (a, b, c, d) {
- this.x = a || 0;
- this.y = b || 0;
- this.z = c || 0;
- this.w = d || 0
- };
- cc.kmQuaternionConjugate = function (a, b) {
- a.x = -b.x;
- a.y = -b.y;
- a.z = -b.z;
- a.w = b.w;
- return a
- };
- cc.kmQuaternionDot = function (a, b) {
- return a.w * b.w + a.x * b.x + a.y * b.y + a.z * b.z
- };
- cc.kmQuaternionExp = function (a, b) {
- return a
- };
- cc.kmQuaternionIdentity = function (a) {
- a.x = 0;
- a.y = 0;
- a.z = 0;
- a.w = 1;
- return a
- };
- cc.kmQuaternionInverse = function (a, b) {
- var c = cc.kmQuaternionLength(b),
- d = new cc.kmQuaternion;
- if (Math.abs(c) > cc.kmEpsilon) return a.x = 0,
- a.y = 0,
- a.z = 0,
- a.w = 0,
- a;
- cc.kmQuaternionScale(a, cc.kmQuaternionConjugate(d, b), 1 / c);
- return a
- };
- cc.kmQuaternionIsIdentity = function (a) {
- return 0 == a.x && 0 == a.y && 0 == a.z && 1 == a.w
- };
- cc.kmQuaternionLength = function (a) {
- return Math.sqrt(cc.kmQuaternionLengthSq(a))
- };
- cc.kmQuaternionLengthSq = function (a) {
- return a.x * a.x + a.y * a.y + a.z * a.z + a.w * a.w
- };
- cc.kmQuaternionLn = function (a, b) {
- return a
- };
- cc.kmQuaternionMultiply = function (a, b, c) {
- a.w = b.w * c.w - b.x * c.x - b.y * c.y - b.z * c.z;
- a.x = b.w * c.x + b.x * c.w + b.y * c.z - b.z * c.y;
- a.y = b.w * c.y + b.y * c.w + b.z * c.x - b.x * c.z;
- a.z = b.w * c.z + b.z * c.w + b.x * c.y - b.y * c.x;
- return a
- };
- cc.kmQuaternionNormalize = function (a, b) {
- var c = cc.kmQuaternionLength(b);
- if (Math.abs(c) <= cc.kmEpsilon) throw "cc.kmQuaternionNormalize(): pIn is an invalid value";
- cc.kmQuaternionScale(a, b, 1 / c);
- return a
- };
- cc.kmQuaternionRotationAxis = function (a, b, c) {
- c *= 0.5;
- var d = Math.sin(c);
- a.w = Math.cos(c);
- a.x = b.x * d;
- a.y = b.y * d;
- a.z = b.z * d;
- return a
- };
- cc.kmQuaternionRotationMatrix = function (a, b) {
- var c,
- d,
- e,
- f;
- c = [];
- d = f = 0;
- if (!b) return null;
- c[0] = b.mat[0];
- c[1] = b.mat[3];
- c[2] = b.mat[6];
- c[4] = b.mat[1];
- c[5] = b.mat[4];
- c[6] = b.mat[7];
- c[8] = b.mat[2];
- c[9] = b.mat[5];
- c[10] = b.mat[8];
- c[15] = 1;
- var g = c[0];
- d = g[0] + g[5] + g[10] + 1;
- d > cc.kmEpsilon ? (f = 2 * Math.sqrt(d), c = (g[9] - g[6]) / f, d = (g[2] - g[8]) / f, e = (g[4] - g[1]) / f, f *= 0.25) : g[0] > g[5] && g[0] > g[10] ? (f = 2 * Math.sqrt(1 + g[0] - g[5] - g[10]), c = 0.25 * f, d = (g[4] + g[1]) / f, e = (g[2] + g[8]) / f, f = (g[9] - g[6]) / f) : g[5] > g[10] ? (f = 2 * Math.sqrt(1 + g[5] - g[0] - g[10]), c = (g[4] + g[1]) / f, d = 0.25 * f, e = (g[9] + g[6]) / f, f = (g[2] - g[8]) / f) : (f = 2 * Math.sqrt(1 + g[10] - g[0] - g[5]), c = (g[2] + g[8]) / f, d = (g[9] + g[6]) / f, e = 0.25 * f, f = (g[4] - g[1]) / f);
- a.x = c;
- a.y = d;
- a.z = e;
- a.w = f;
- return a
- };
- cc.kmQuaternionRotationYawPitchRoll = function (a, b, c, d) {
- var e,
- f,
- g,
- h,
- k;
- e = cc.kmDegreesToRadians(c) / 2;
- f = cc.kmDegreesToRadians(b) / 2;
- g = cc.kmDegreesToRadians(d) / 2;
- d = Math.cos(e);
- b = Math.cos(f);
- c = Math.cos(g);
- e = Math.sin(e);
- f = Math.sin(f);
- g = Math.sin(g);
- h = b * c;
- k = f * g;
- a.w = d * h + e * k;
- a.x = e * h - d * k;
- a.y = d * f * c + e * b * g;
- a.z = d * b * g - e * f * c;
- cc.kmQuaternionNormalize(a, a);
- return a
- };
- cc.kmQuaternionSlerp = function (a, b, c, d) {
- if (b.x == c.x && b.y == c.y && b.z == c.z && b.w == c.w) return a.x = b.x,
- a.y = b.y,
- a.z = b.z,
- a.w = b.w,
- a;
- var e = cc.kmQuaternionDot(b, c),
- f = Math.acos(e),
- g = Math.sqrt(1 - cc.kmSQR(e)),
- e = Math.sin(d * f) / g;
- d = Math.sin((1 - d) * f) / g;
- f = new cc.kmQuaternion;
- g = new cc.kmQuaternion;
- cc.kmQuaternionScale(f, b, d);
- cc.kmQuaternionScale(g, c, e);
- cc.kmQuaternionAdd(a, f, g);
- return a
- };
- cc.kmQuaternionToAxisAngle = function (a, b, c) {
- Math.acos(a.w);
- c = Math.sqrt(cc.kmSQR(a.x) + cc.kmSQR(a.y) + cc.kmSQR(a.z));
- c > -cc.kmEpsilon && c < cc.kmEpsilon || c < 2 * cc.kmPI + cc.kmEpsilon && c > 2 * cc.kmPI - cc.kmEpsilon ? (b.x = 0, b.y = 0, b.z = 1) : (b.x = a.x / c, b.y = a.y / c, b.z = a.z / c, cc.kmVec3Normalize(b, b))
- };
- cc.kmQuaternionScale = function (a, b, c) {
- a.x = b.x * c;
- a.y = b.y * c;
- a.z = b.z * c;
- a.w = b.w * c;
- return a
- };
- cc.kmQuaternionAssign = function (a, b) {
- a.x = b.x;
- a.y = b.y;
- a.z = b.z;
- a.w = b.w;
- return a
- };
- cc.kmQuaternionAdd = function (a, b, c) {
- a.x = b.x + c.x;
- a.y = b.y + c.y;
- a.z = b.z + c.z;
- a.w = b.w + c.w;
- return a
- };
- cc.kmQuaternionRotationBetweenVec3 = function (a, b, c, d) {
- var e = new cc.kmVec3,
- f = new cc.kmVec3;
- cc.kmVec3Assign(e, b);
- cc.kmVec3Assign(f, c);
- cc.kmVec3Normalize(e, e);
- cc.kmVec3Normalize(f, f);
- c = cc.kmVec3Dot(e, f);
- if (1 <= c) return cc.kmQuaternionIdentity(a),
- a; -0.999999 > c ? Math.abs(cc.kmVec3LengthSq(d)) < cc.kmEpsilon ? cc.kmQuaternionRotationAxis(a, d, cc.kmPI) : (e = new cc.kmVec3, f = new cc.kmVec3, f.x = 1, f.y = 0, f.z = 0, cc.kmVec3Cross(e, f, b), Math.abs(cc.kmVec3LengthSq(e)) < cc.kmEpsilon && (f = new cc.kmVec3, f.x = 0, f.y = 1, f.z = 0, cc.kmVec3Cross(e, f, b)), cc.kmVec3Normalize(e, e), cc.kmQuaternionRotationAxis(a, e, cc.kmPI)) : (b = Math.sqrt(2 * (1 + c)), d = 1 / b, c = new cc.kmVec3, cc.kmVec3Cross(c, e, f), a.x = c.x * d, a.y = c.y * d, a.z = c.z * d, a.w = 0.5 * b, cc.kmQuaternionNormalize(a, a));
- return a
- };
- cc.kmQuaternionMultiplyVec3 = function (a, b, c) {
- var d = new cc.kmVec3,
- e = new cc.kmVec3,
- f = new cc.kmVec3;
- f.x = b.x;
- f.y = b.y;
- f.z = b.z;
- cc.kmVec3Cross(d, f, c);
- cc.kmVec3Cross(e, f, d);
- cc.kmVec3Scale(d, d, 2 * b.w);
- cc.kmVec3Scale(e, e, 2);
- cc.kmVec3Add(a, c, d);
- cc.kmVec3Add(a, a, e);
- return a
- };
- cc.kmAABB = function (a, b) {
- this.min = a || new cc.kmVec3;
- this.max = b || new cc.kmVec3
- };
- cc.kmAABBContainsPoint = function (a, b) {
- return a.x >= b.min.x && a.x <= b.max.x && a.y >= b.min.y && a.y <= b.max.y && a.z >= b.min.z && a.z <= b.max.z ? cc.KM_TRUE : cc.KM_FALSE
- };
- cc.kmAABBAssign = function (a, b) {
- cc.kmVec3Assign(a.min, b.min);
- cc.kmVec3Assign(a.max, b.max);
- return a
- };
- cc.kmAABBScale = function (a, b, c) {
- cc.log("cc.kmAABBScale hasn't been supported.")
- };
- cc.km_mat4_stack = function (a, b, c, d) {
- this.top = c;
- this.stack = d
- };
- cc.km_mat4_stack.INITIAL_SIZE = 30;
- cc.km_mat4_stack_initialize = function (a) {
- a.stack = [];
- a.top = null
- };
- cc.km_mat4_stack_push = function (a, b) {
- a.stack.push(a.top);
- a.top = new cc.kmMat4;
- cc.kmMat4Assign(a.top, b)
- };
- cc.km_mat4_stack_pop = function (a, b) {
- a.top = a.stack.pop()
- };
- cc.km_mat4_stack_release = function (a) {
- a.stack = null;
- a.top = null
- };
- cc.KM_GL_MODELVIEW = 5888;
- cc.KM_GL_PROJECTION = 5889;
- cc.KM_GL_TEXTURE = 5890;
- cc.modelview_matrix_stack = new cc.km_mat4_stack;
- cc.projection_matrix_stack = new cc.km_mat4_stack;
- cc.texture_matrix_stack = new cc.km_mat4_stack;
- cc.current_stack = null;
- cc.initialized = !1;
- cc.lazyInitialize = function () {
- if (!cc.initialized) {
- var a = new cc.kmMat4;
- cc.km_mat4_stack_initialize(cc.modelview_matrix_stack);
- cc.km_mat4_stack_initialize(cc.projection_matrix_stack);
- cc.km_mat4_stack_initialize(cc.texture_matrix_stack);
- cc.current_stack = cc.modelview_matrix_stack;
- cc.initialized = !0;
- cc.kmMat4Identity(a);
- cc.km_mat4_stack_push(cc.modelview_matrix_stack, a);
- cc.km_mat4_stack_push(cc.projection_matrix_stack, a);
- cc.km_mat4_stack_push(cc.texture_matrix_stack, a)
- }
- };
- cc.lazyInitialize();
- cc.kmGLFreeAll = function () {
- cc.km_mat4_stack_release(cc.modelview_matrix_stack);
- cc.km_mat4_stack_release(cc.projection_matrix_stack);
- cc.km_mat4_stack_release(cc.texture_matrix_stack);
- cc.initialized = !1;
- cc.current_stack = null
- };
- cc.kmGLPushMatrix = function () {
- cc.km_mat4_stack_push(cc.current_stack, cc.current_stack.top)
- };
- cc.kmGLPushMatrixWitMat4 = function (a) {
- cc.current_stack.stack.push(cc.current_stack.top);
- cc.kmMat4Assign(a, cc.current_stack.top);
- cc.current_stack.top = a
- };
- cc.kmGLPopMatrix = function () {
- cc.current_stack.top = cc.current_stack.stack.pop()
- };
- cc.kmGLMatrixMode = function (a) {
- switch (a) {
- case cc.KM_GL_MODELVIEW:
- cc.current_stack = cc.modelview_matrix_stack;
- break;
- case cc.KM_GL_PROJECTION:
- cc.current_stack = cc.projection_matrix_stack;
- break;
- case cc.KM_GL_TEXTURE:
- cc.current_stack = cc.texture_matrix_stack;
- break;
- default:
- throw "Invalid matrix mode specified";
- }
- };
- cc.kmGLLoadIdentity = function () {
- cc.kmMat4Identity(cc.current_stack.top)
- };
- cc.kmGLLoadMatrix = function (a) {
- cc.kmMat4Assign(cc.current_stack.top, a)
- };
- cc.kmGLMultMatrix = function (a) {
- cc.kmMat4Multiply(cc.current_stack.top, cc.current_stack.top, a)
- };
- cc.kmGLTranslatef = function (a, b, c) {
- var d = new cc.kmMat4;
- cc.kmMat4Translation(d, a, b, c);
- cc.kmMat4Multiply(cc.current_stack.top, cc.current_stack.top, d)
- };
- cc.kmGLRotatef = function (a, b, c, d) {
- b = new cc.kmVec3(b, c, d);
- c = new cc.kmMat4;
- cc.kmMat4RotationAxisAngle(c, b, cc.kmDegreesToRadians(a));
- cc.kmMat4Multiply(cc.current_stack.top, cc.current_stack.top, c)
- };
- cc.kmGLScalef = function (a, b, c) {
- var d = new cc.kmMat4;
- cc.kmMat4Scaling(d, a, b, c);
- cc.kmMat4Multiply(cc.current_stack.top, cc.current_stack.top, d)
- };
- cc.kmGLGetMatrix = function (a, b) {
- switch (a) {
- case cc.KM_GL_MODELVIEW:
- cc.kmMat4Assign(b, cc.modelview_matrix_stack.top);
- break;
- case cc.KM_GL_PROJECTION:
- cc.kmMat4Assign(b, cc.projection_matrix_stack.top);
- break;
- case cc.KM_GL_TEXTURE:
- cc.kmMat4Assign(b, cc.texture_matrix_stack.top);
- break;
- default:
- throw "Invalid matrix mode specified";
- }
- };
- cc.SHADER_POSITION_UCOLOR_FRAG = "precision lowp float;\nvarying vec4 v_fragmentColor;\nvoid main() \n{ \n gl_FragColor \x3d v_fragmentColor; \n}\n";
- cc.SHADER_POSITION_UCOLOR_VERT = "attribute vec4 a_position;\nuniform vec4 u_color;\nuniform float u_pointSize;\nvarying lowp vec4 v_fragmentColor; \nvoid main(void) \n{\n gl_Position \x3d (CC_PMatrix * CC_MVMatrix) * a_position; \n gl_PointSize \x3d u_pointSize; \n v_fragmentColor \x3d u_color; \n}";
- cc.SHADER_POSITION_COLOR_FRAG = "precision lowp float; \nvarying vec4 v_fragmentColor; \nvoid main() \n{ \n gl_FragColor \x3d v_fragmentColor; \n} ";
- cc.SHADER_POSITION_COLOR_VERT = "attribute vec4 a_position;\nattribute vec4 a_color;\nvarying lowp vec4 v_fragmentColor;\nvoid main()\n{\n gl_Position \x3d (CC_PMatrix * CC_MVMatrix) * a_position; \n v_fragmentColor \x3d a_color; \n}";
- cc.SHADER_POSITION_COLOR_LENGTH_TEXTURE_FRAG = "// #extension GL_OES_standard_derivatives : enable\nvarying mediump vec4 v_color;\nvarying mediump vec2 v_texcoord;\nvoid main()\t\n{ \n// #if defined GL_OES_standard_derivatives\t\n// gl_FragColor \x3d v_color*smoothstep(0.0, length(fwidth(v_texcoord)), 1.0 - length(v_texcoord)); \n// #else\t\ngl_FragColor \x3d v_color * step(0.0, 1.0 - length(v_texcoord)); \n// #endif \n}";
- cc.SHADER_POSITION_COLOR_LENGTH_TEXTURE_VERT = "attribute mediump vec4 a_position; \nattribute mediump vec2 a_texcoord; \nattribute mediump vec4 a_color;\t\nvarying mediump vec4 v_color; \nvarying mediump vec2 v_texcoord;\t\nvoid main() \n{ \n v_color \x3d a_color;//vec4(a_color.rgb * a_color.a, a_color.a); \n v_texcoord \x3d a_texcoord; \n gl_Position \x3d (CC_PMatrix * CC_MVMatrix) * a_position; \n}";
- cc.SHADER_POSITION_TEXTURE_FRAG = "precision lowp float; \nvarying vec2 v_texCoord; \nuniform sampler2D CC_Texture0; \nvoid main() \n{ \n gl_FragColor \x3d texture2D(CC_Texture0, v_texCoord); \n}";
- cc.SHADER_POSITION_TEXTURE_VERT = "attribute vec4 a_position; \nattribute vec2 a_texCoord; \nvarying mediump vec2 v_texCoord; \nvoid main() \n{ \n gl_Position \x3d (CC_PMatrix * CC_MVMatrix) * a_position; \n v_texCoord \x3d a_texCoord; \n}";
- cc.SHADER_POSITION_TEXTURE_UCOLOR_FRAG = "precision lowp float; \nuniform vec4 u_color; \nvarying vec2 v_texCoord; \nuniform sampler2D CC_Texture0; \nvoid main() \n{ \n gl_FragColor \x3d texture2D(CC_Texture0, v_texCoord) * u_color; \n}";
- cc.SHADER_POSITION_TEXTURE_UCOLOR_VERT = "attribute vec4 a_position;\nattribute vec2 a_texCoord; \nvarying mediump vec2 v_texCoord; \nvoid main() \n{ \n gl_Position \x3d (CC_PMatrix * CC_MVMatrix) * a_position; \n v_texCoord \x3d a_texCoord; \n}";
- cc.SHADER_POSITION_TEXTURE_A8COLOR_FRAG = "precision lowp float; \nvarying vec4 v_fragmentColor; \nvarying vec2 v_texCoord; \nuniform sampler2D CC_Texture0; \nvoid main() \n{ \n gl_FragColor \x3d vec4( v_fragmentColor.rgb, \n v_fragmentColor.a * texture2D(CC_Texture0, v_texCoord).a \n ); \n}";
- cc.SHADER_POSITION_TEXTURE_A8COLOR_VERT = "attribute vec4 a_position; \nattribute vec2 a_texCoord; \nattribute vec4 a_color; \nvarying lowp vec4 v_fragmentColor; \nvarying mediump vec2 v_texCoord; \nvoid main() \n{ \n gl_Position \x3d (CC_PMatrix * CC_MVMatrix) * a_position; \n v_fragmentColor \x3d a_color; \n v_texCoord \x3d a_texCoord; \n}";
- cc.SHADER_POSITION_TEXTURE_COLOR_FRAG = "precision lowp float;\nvarying vec4 v_fragmentColor; \nvarying vec2 v_texCoord; \nuniform sampler2D CC_Texture0; \nvoid main() \n{ \n gl_FragColor \x3d v_fragmentColor * texture2D(CC_Texture0, v_texCoord); \n}";
- cc.SHADER_POSITION_TEXTURE_COLOR_VERT = "attribute vec4 a_position; \nattribute vec2 a_texCoord; \nattribute vec4 a_color; \nvarying lowp vec4 v_fragmentColor; \nvarying mediump vec2 v_texCoord; \nvoid main() \n{ \n gl_Position \x3d (CC_PMatrix * CC_MVMatrix) * a_position; \n v_fragmentColor \x3d a_color; \n v_texCoord \x3d a_texCoord; \n}";
- cc.SHADER_POSITION_TEXTURE_COLOR_ALPHATEST_FRAG = "precision lowp float; \nvarying vec4 v_fragmentColor; \nvarying vec2 v_texCoord; \nuniform sampler2D CC_Texture0; \nuniform float CC_alpha_value; \nvoid main() \n{ \n vec4 texColor \x3d texture2D(CC_Texture0, v_texCoord); \n if ( texColor.a \x3c\x3d CC_alpha_value ) \n discard; \n gl_FragColor \x3d texColor * v_fragmentColor; \n}";
- cc.SHADEREX_SWITCHMASK_FRAG = "precision lowp float; \nvarying vec4 v_fragmentColor; \nvarying vec2 v_texCoord; \nuniform sampler2D u_texture; \nuniform sampler2D u_mask; \nvoid main() \n{ \n vec4 texColor \x3d texture2D(u_texture, v_texCoord); \n vec4 maskColor \x3d texture2D(u_mask, v_texCoord); \n vec4 finalColor \x3d vec4(texColor.r, texColor.g, texColor.b, maskColor.a * texColor.a); \n gl_FragColor \x3d v_fragmentColor * finalColor; \n}";
- cc.shaderCache = {
- TYPE_POSITION_TEXTURECOLOR: 0,
- TYPE_POSITION_TEXTURECOLOR_ALPHATEST: 1,
- TYPE_POSITION_COLOR: 2,
- TYPE_POSITION_TEXTURE: 3,
- TYPE_POSITION_TEXTURE_UCOLOR: 4,
- TYPE_POSITION_TEXTURE_A8COLOR: 5,
- TYPE_POSITION_UCOLOR: 6,
- TYPE_POSITION_LENGTH_TEXTURECOLOR: 7,
- TYPE_MAX: 8,
- _programs: {},
- _init: function () {
- this.loadDefaultShaders();
- return !0
- },
- _loadDefaultShader: function (a, b) {
- switch (b) {
- case this.TYPE_POSITION_TEXTURECOLOR:
- a.initWithVertexShaderByteArray(cc.SHADER_POSITION_TEXTURE_COLOR_VERT, cc.SHADER_POSITION_TEXTURE_COLOR_FRAG);
- a.addAttribute(cc.ATTRIBUTE_NAME_POSITION, cc.VERTEX_ATTRIB_POSITION);
- a.addAttribute(cc.ATTRIBUTE_NAME_COLOR, cc.VERTEX_ATTRIB_COLOR);
- a.addAttribute(cc.ATTRIBUTE_NAME_TEX_COORD, cc.VERTEX_ATTRIB_TEX_COORDS);
- break;
- case this.TYPE_POSITION_TEXTURECOLOR_ALPHATEST:
- a.initWithVertexShaderByteArray(cc.SHADER_POSITION_TEXTURE_COLOR_VERT, cc.SHADER_POSITION_TEXTURE_COLOR_ALPHATEST_FRAG);
- a.addAttribute(cc.ATTRIBUTE_NAME_POSITION, cc.VERTEX_ATTRIB_POSITION);
- a.addAttribute(cc.ATTRIBUTE_NAME_COLOR, cc.VERTEX_ATTRIB_COLOR);
- a.addAttribute(cc.ATTRIBUTE_NAME_TEX_COORD, cc.VERTEX_ATTRIB_TEX_COORDS);
- break;
- case this.TYPE_POSITION_COLOR:
- a.initWithVertexShaderByteArray(cc.SHADER_POSITION_COLOR_VERT, cc.SHADER_POSITION_COLOR_FRAG);
- a.addAttribute(cc.ATTRIBUTE_NAME_POSITION, cc.VERTEX_ATTRIB_POSITION);
- a.addAttribute(cc.ATTRIBUTE_NAME_COLOR, cc.VERTEX_ATTRIB_COLOR);
- break;
- case this.TYPE_POSITION_TEXTURE:
- a.initWithVertexShaderByteArray(cc.SHADER_POSITION_TEXTURE_VERT, cc.SHADER_POSITION_TEXTURE_FRAG);
- a.addAttribute(cc.ATTRIBUTE_NAME_POSITION, cc.VERTEX_ATTRIB_POSITION);
- a.addAttribute(cc.ATTRIBUTE_NAME_TEX_COORD, cc.VERTEX_ATTRIB_TEX_COORDS);
- break;
- case this.TYPE_POSITION_TEXTURE_UCOLOR:
- a.initWithVertexShaderByteArray(cc.SHADER_POSITION_TEXTURE_UCOLOR_VERT, cc.SHADER_POSITION_TEXTURE_UCOLOR_FRAG);
- a.addAttribute(cc.ATTRIBUTE_NAME_POSITION, cc.VERTEX_ATTRIB_POSITION);
- a.addAttribute(cc.ATTRIBUTE_NAME_TEX_COORD, cc.VERTEX_ATTRIB_TEX_COORDS);
- break;
- case this.TYPE_POSITION_TEXTURE_A8COLOR:
- a.initWithVertexShaderByteArray(cc.SHADER_POSITION_TEXTURE_A8COLOR_VERT, cc.SHADER_POSITION_TEXTURE_A8COLOR_FRAG);
- a.addAttribute(cc.ATTRIBUTE_NAME_POSITION, cc.VERTEX_ATTRIB_POSITION);
- a.addAttribute(cc.ATTRIBUTE_NAME_COLOR, cc.VERTEX_ATTRIB_COLOR);
- a.addAttribute(cc.ATTRIBUTE_NAME_TEX_COORD, cc.VERTEX_ATTRIB_TEX_COORDS);
- break;
- case this.TYPE_POSITION_UCOLOR:
- a.initWithVertexShaderByteArray(cc.SHADER_POSITION_UCOLOR_VERT, cc.SHADER_POSITION_UCOLOR_FRAG);
- a.addAttribute("aVertex", cc.VERTEX_ATTRIB_POSITION);
- break;
- case this.TYPE_POSITION_LENGTH_TEXTURECOLOR:
- a.initWithVertexShaderByteArray(cc.SHADER_POSITION_COLOR_LENGTH_TEXTURE_VERT, cc.SHADER_POSITION_COLOR_LENGTH_TEXTURE_FRAG);
- a.addAttribute(cc.ATTRIBUTE_NAME_POSITION, cc.VERTEX_ATTRIB_POSITION);
- a.addAttribute(cc.ATTRIBUTE_NAME_TEX_COORD, cc.VERTEX_ATTRIB_TEX_COORDS);
- a.addAttribute(cc.ATTRIBUTE_NAME_COLOR, cc.VERTEX_ATTRIB_COLOR);
- break;
- default:
- cc.log("cocos2d: cc.shaderCache._loadDefaultShader, error shader type");
- return
- }
- a.link();
- a.updateUniforms()
- },
- loadDefaultShaders: function () {
- var a = new cc.GLProgram;
- this._loadDefaultShader(a, this.TYPE_POSITION_TEXTURECOLOR);
- this._programs[cc.SHADER_POSITION_TEXTURECOLOR] = a;
- this._programs.ShaderPositionTextureColor = a;
- a = new cc.GLProgram;
- this._loadDefaultShader(a, this.TYPE_POSITION_TEXTURECOLOR_ALPHATEST);
- this._programs[cc.SHADER_POSITION_TEXTURECOLORALPHATEST] = a;
- this._programs.ShaderPositionTextureColorAlphaTest = a;
- a = new cc.GLProgram;
- this._loadDefaultShader(a, this.TYPE_POSITION_COLOR);
- this._programs[cc.SHADER_POSITION_COLOR] = a;
- this._programs.ShaderPositionColor = a;
- a = new cc.GLProgram;
- this._loadDefaultShader(a, this.TYPE_POSITION_TEXTURE);
- this._programs[cc.SHADER_POSITION_TEXTURE] = a;
- this._programs.ShaderPositionTexture = a;
- a = new cc.GLProgram;
- this._loadDefaultShader(a, this.TYPE_POSITION_TEXTURE_UCOLOR);
- this._programs[cc.SHADER_POSITION_TEXTURE_UCOLOR] = a;
- this._programs.ShaderPositionTextureUColor = a;
- a = new cc.GLProgram;
- this._loadDefaultShader(a, this.TYPE_POSITION_TEXTURE_A8COLOR);
- this._programs[cc.SHADER_POSITION_TEXTUREA8COLOR] = a;
- this._programs.ShaderPositionTextureA8Color = a;
- a = new cc.GLProgram;
- this._loadDefaultShader(a, this.TYPE_POSITION_UCOLOR);
- this._programs[cc.SHADER_POSITION_UCOLOR] = a;
- this._programs.ShaderPositionUColor = a;
- a = new cc.GLProgram;
- this._loadDefaultShader(a, this.TYPE_POSITION_LENGTH_TEXTURECOLOR);
- this._programs[cc.SHADER_POSITION_LENGTHTEXTURECOLOR] = a;
- this._programs.ShaderPositionLengthTextureColor = a
- },
- reloadDefaultShaders: function () {
- var a = this.programForKey(cc.SHADER_POSITION_TEXTURECOLOR);
- a.reset();
- this._loadDefaultShader(a, this.TYPE_POSITION_TEXTURECOLOR);
- a = this.programForKey(cc.SHADER_POSITION_TEXTURECOLORALPHATEST);
- a.reset();
- this._loadDefaultShader(a, this.TYPE_POSITION_TEXTURECOLOR_ALPHATEST);
- a = this.programForKey(cc.SHADER_POSITION_COLOR);
- a.reset();
- this._loadDefaultShader(a, this.TYPE_POSITION_COLOR);
- a = this.programForKey(cc.SHADER_POSITION_TEXTURE);
- a.reset();
- this._loadDefaultShader(a, this.TYPE_POSITION_TEXTURE);
- a = this.programForKey(cc.SHADER_POSITION_TEXTURE_UCOLOR);
- a.reset();
- this._loadDefaultShader(a, this.TYPE_POSITION_TEXTURE_UCOLOR);
- a = this.programForKey(cc.SHADER_POSITION_TEXTUREA8COLOR);
- a.reset();
- this._loadDefaultShader(a, this.TYPE_POSITION_TEXTURE_A8COLOR);
- a = this.programForKey(cc.SHADER_POSITION_UCOLOR);
- a.reset();
- this._loadDefaultShader(a, this.TYPE_POSITION_UCOLOR)
- },
- programForKey: function (a) {
- return this._programs[a]
- },
- getProgram: function (a) {
- return this._programs[a]
- },
- addProgram: function (a, b) {
- this._programs[b] = a
- }
- };
- cc.HashUniformEntry = function (a, b, c) {
- this.value = a;
- this.location = b;
- this.hh = c || {}
- };
- cc.GLProgram = cc.Class.extend({
- _glContext: null,
- _programObj: null,
- _vertShader: null,
- _fragShader: null,
- _uniforms: null,
- _hashForUniforms: null,
- _usesTime: !1,
- _updateUniformLocation: function (a, b, c) {
- if (null == a) return !1;
- c = !0;
- for (var d = null, e = 0; e < this._hashForUniforms.length; e++) this._hashForUniforms[e].location == a && (d = this._hashForUniforms[e]);
- d ? d.value == b ? c = !1 : d.value = b : (d = new cc.HashUniformEntry, d.location = a, d.value = b, this._hashForUniforms.push(d));
- return c
- },
- _description: function () {
- return "\x3cCCGLProgram \x3d " +
- this.toString() + " | Program \x3d " + this._programObj.toString() + ", VertexShader \x3d " + this._vertShader.toString() + ", FragmentShader \x3d " + this._fragShader.toString() + "\x3e"
- },
- _compileShader: function (a, b, c) {
- if (!c || !a) return !1;
- this._glContext.shaderSource(a, "precision highp float; \nuniform mat4 CC_PMatrix; \nuniform mat4 CC_MVMatrix; \nuniform mat4 CC_MVPMatrix; \nuniform vec4 CC_Time; \nuniform vec4 CC_SinTime; \nuniform vec4 CC_CosTime; \nuniform vec4 CC_Random01; \n//CC INCLUDES END \n" +
- c);
- this._glContext.compileShader(a);
- c = this._glContext.getShaderParameter(a, this._glContext.COMPILE_STATUS);
- c || (cc.log("cocos2d: ERROR: Failed to compile shader:\n" + this._glContext.getShaderSource(a)), b == this._glContext.VERTEX_SHADER ? cc.log("cocos2d: \n" + this.vertexShaderLog()) : cc.log("cocos2d: \n" + this.fragmentShaderLog()));
- return 1 == c
- },
- ctor: function (a, b, c) {
- this._uniforms = [];
- this._hashForUniforms = [];
- this._glContext = c || cc._renderContext;
- a && b && this.init(a, b)
- },
- destroyProgram: function () {
- this._hashForUniforms = this._uniforms = this._fragShader = this._vertShader = null;
- this._glContext.deleteProgram(this._programObj)
- },
- initWithVertexShaderByteArray: function (a, b) {
- var c = this._glContext;
- this._programObj = c.createProgram();
- this._fragShader = this._vertShader = null;
- a && (this._vertShader = c.createShader(c.VERTEX_SHADER), this._compileShader(this._vertShader, c.VERTEX_SHADER, a) || cc.log("cocos2d: ERROR: Failed to compile vertex shader"));
- b && (this._fragShader = c.createShader(c.FRAGMENT_SHADER), this._compileShader(this._fragShader, c.FRAGMENT_SHADER, b) || cc.log("cocos2d: ERROR: Failed to compile fragment shader"));
- this._vertShader && c.attachShader(this._programObj, this._vertShader);
- cc.checkGLErrorDebug();
- this._fragShader && c.attachShader(this._programObj, this._fragShader);
- this._hashForUniforms.length = 0;
- cc.checkGLErrorDebug();
- return !0
- },
- initWithString: function (a, b) {
- return this.initWithVertexShaderByteArray(a, b)
- },
- initWithVertexShaderFilename: function (a, b) {
- var c = cc.loader.getRes(a);
- if (!c) throw "Please load the resource firset : " + a;
- var d = cc.loader.getRes(b);
- if (!d) throw "Please load the resource firset : " + b;
- return this.initWithVertexShaderByteArray(c, d)
- },
- init: function (a, b) {
- return this.initWithVertexShaderFilename(a, b)
- },
- addAttribute: function (a, b) {
- this._glContext.bindAttribLocation(this._programObj, b, a)
- },
- link: function () {
- if (!this._programObj) return cc.log("cc.GLProgram.link(): Cannot link invalid program"),
- !1;
- this._glContext.linkProgram(this._programObj);
- this._vertShader && this._glContext.deleteShader(this._vertShader);
- this._fragShader && this._glContext.deleteShader(this._fragShader);
- this._fragShader = this._vertShader = null;
- return cc.game.config[cc.game.CONFIG_KEY.debugMode] && !this._glContext.getProgramParameter(this._programObj, this._glContext.LINK_STATUS) ? (cc.log("cocos2d: ERROR: Failed to link program: " + this._glContext.getProgramInfoLog(this._programObj)), cc.glDeleteProgram(this._programObj), this._programObj = null, !1) : !0
- },
- use: function () {
- cc.glUseProgram(this._programObj)
- },
- updateUniforms: function () {
- this._uniforms[cc.UNIFORM_PMATRIX] = this._glContext.getUniformLocation(this._programObj, cc.UNIFORM_PMATRIX_S);
- this._uniforms[cc.UNIFORM_MVMATRIX] = this._glContext.getUniformLocation(this._programObj, cc.UNIFORM_MVMATRIX_S);
- this._uniforms[cc.UNIFORM_MVPMATRIX] = this._glContext.getUniformLocation(this._programObj, cc.UNIFORM_MVPMATRIX_S);
- this._uniforms[cc.UNIFORM_TIME] = this._glContext.getUniformLocation(this._programObj, cc.UNIFORM_TIME_S);
- this._uniforms[cc.UNIFORM_SINTIME] = this._glContext.getUniformLocation(this._programObj, cc.UNIFORM_SINTIME_S);
- this._uniforms[cc.UNIFORM_COSTIME] = this._glContext.getUniformLocation(this._programObj, cc.UNIFORM_COSTIME_S);
- this._usesTime = null != this._uniforms[cc.UNIFORM_TIME] || null != this._uniforms[cc.UNIFORM_SINTIME] || null != this._uniforms[cc.UNIFORM_COSTIME];
- this._uniforms[cc.UNIFORM_RANDOM01] = this._glContext.getUniformLocation(this._programObj, cc.UNIFORM_RANDOM01_S);
- this._uniforms[cc.UNIFORM_SAMPLER] = this._glContext.getUniformLocation(this._programObj, cc.UNIFORM_SAMPLER_S);
- this.use();
- this.setUniformLocationWith1i(this._uniforms[cc.UNIFORM_SAMPLER], 0)
- },
- getUniformLocationForName: function (a) {
- if (!a) throw "cc.GLProgram.getUniformLocationForName(): uniform name should be non-null";
- if (!this._programObj) throw "cc.GLProgram.getUniformLocationForName(): Invalid operation. Cannot get uniform location when program is not initialized";
- return this._glContext.getUniformLocation(this._programObj, a)
- },
- getUniformMVPMatrix: function () {
- return this._uniforms[cc.UNIFORM_MVPMATRIX]
- },
- getUniformSampler: function () {
- return this._uniforms[cc.UNIFORM_SAMPLER]
- },
- setUniformLocationWith1i: function (a, b) {
- this._updateUniformLocation(a, b) && this._glContext.uniform1i(a, b)
- },
- setUniformLocationWith2i: function (a, b, c) {
- this._updateUniformLocation(a, [b, c]) && this._glContext.uniform2i(a, b, c)
- },
- setUniformLocationWith3i: function (a, b, c, d) {
- this._updateUniformLocation(a, [b, c, d]) && this._glContext.uniform3i(a, b, c, d)
- },
- setUniformLocationWith4i: function (a, b, c, d, e) {
- this._updateUniformLocation(a, [b, c, d, e]) && this._glContext.uniform4i(a, b, c, d, e)
- },
- setUniformLocationWith2iv: function (a, b, c) {
- this._updateUniformLocation(a, b) && this._glContext.uniform2iv(a, b)
- },
- setUniformLocationWith3iv: function (a, b, c) {
- this._updateUniformLocation(a, b) && this._glContext.uniform3iv(a, b)
- },
- setUniformLocationWith4iv: function (a, b, c) {
- this._updateUniformLocation(a, b) && this._glContext.uniform4iv(a, b)
- },
- setUniformLocationI32: function (a, b) {
- this.setUniformLocationWith1i(a, b)
- },
- setUniformLocationWith1f: function (a, b) {
- this._updateUniformLocation(a, b) && this._glContext.uniform1f(a, b)
- },
- setUniformLocationWith2f: function (a, b, c) {
- this._updateUniformLocation(a, [b, c]) && this._glContext.uniform2f(a, b, c)
- },
- setUniformLocationWith3f: function (a, b, c, d) {
- this._updateUniformLocation(a, [b, c, d]) && this._glContext.uniform3f(a, b, c, d)
- },
- setUniformLocationWith4f: function (a, b, c, d, e) {
- this._updateUniformLocation(a, [b, c, d, e]) && this._glContext.uniform4f(a, b, c, d, e)
- },
- setUniformLocationWith2fv: function (a, b, c) {
- this._updateUniformLocation(a, b) && this._glContext.uniform2fv(a, b)
- },
- setUniformLocationWith3fv: function (a, b, c) {
- this._updateUniformLocation(a, b) && this._glContext.uniform3fv(a, b)
- },
- setUniformLocationWith4fv: function (a, b, c) {
- this._updateUniformLocation(a, b) && this._glContext.uniform4fv(a, b)
- },
- setUniformLocationWithMatrix4fv: function (a, b, c) {
- this._updateUniformLocation(a, b) && this._glContext.uniformMatrix4fv(a, !1, b)
- },
- setUniformLocationF32: function () {
- if (!(2 > arguments.length)) switch (arguments.length) {
- case 2:
- this.setUniformLocationWith1f(arguments[0], arguments[1]);
- break;
- case 3:
- this.setUniformLocationWith2f(arguments[0], arguments[1], arguments[2]);
- break;
- case 4:
- this.setUniformLocationWith3f(arguments[0], arguments[1], arguments[2], arguments[3]);
- break;
- case 5:
- this.setUniformLocationWith4f(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4])
- }
- },
- setUniformsForBuiltins: function () {
- var a = new cc.kmMat4,
- b = new cc.kmMat4,
- c = new cc.kmMat4;
- cc.kmGLGetMatrix(cc.KM_GL_PROJECTION, a);
- cc.kmGLGetMatrix(cc.KM_GL_MODELVIEW, b);
- cc.kmMat4Multiply(c, a, b);
- this.setUniformLocationWithMatrix4fv(this._uniforms[cc.UNIFORM_PMATRIX], a.mat, 1);
- this.setUniformLocationWithMatrix4fv(this._uniforms[cc.UNIFORM_MVMATRIX], b.mat, 1);
- this.setUniformLocationWithMatrix4fv(this._uniforms[cc.UNIFORM_MVPMATRIX], c.mat, 1);
- this._usesTime && (a = cc.director, a = a.getTotalFrames() * a.getAnimationInterval(), this.setUniformLocationWith4f(this._uniforms[cc.UNIFORM_TIME], a / 10, a, 2 * a, 4 * a), this.setUniformLocationWith4f(this._uniforms[cc.UNIFORM_SINTIME], a / 8, a / 4, a / 2, Math.sin(a)), this.setUniformLocationWith4f(this._uniforms[cc.UNIFORM_COSTIME], a / 8, a / 4, a / 2, Math.cos(a))); -1 != this._uniforms[cc.UNIFORM_RANDOM01] && this.setUniformLocationWith4f(this._uniforms[cc.UNIFORM_RANDOM01], Math.random(), Math.random(), Math.random(), Math.random())
- },
- setUniformForModelViewProjectionMatrix: function () {
- this._glContext.uniformMatrix4fv(this._uniforms[cc.UNIFORM_MVPMATRIX], !1, cc.getMat4MultiplyValue(cc.projection_matrix_stack.top, cc.modelview_matrix_stack.top))
- },
- setUniformForModelViewProjectionMatrixWithMat4: function (a) {
- cc.kmMat4Multiply(a, cc.projection_matrix_stack.top, cc.modelview_matrix_stack.top);
- this._glContext.uniformMatrix4fv(this._uniforms[cc.UNIFORM_MVPMATRIX], !1, a.mat)
- },
- setUniformForModelViewAndProjectionMatrixWithMat4: function () {
- this._glContext.uniformMatrix4fv(this._uniforms[cc.UNIFORM_MVMATRIX], !1, cc.modelview_matrix_stack.top.mat);
- this._glContext.uniformMatrix4fv(this._uniforms[cc.UNIFORM_PMATRIX], !1, cc.projection_matrix_stack.top.mat)
- },
- vertexShaderLog: function () {
- return this._glContext.getShaderInfoLog(this._vertShader)
- },
- getVertexShaderLog: function () {
- return this._glContext.getShaderInfoLog(this._vertShader)
- },
- getFragmentShaderLog: function () {
- return this._glContext.getShaderInfoLog(this._vertShader)
- },
- fragmentShaderLog: function () {
- return this._glContext.getShaderInfoLog(this._fragShader)
- },
- programLog: function () {
- return this._glContext.getProgramInfoLog(this._programObj)
- },
- getProgramLog: function () {
- return this._glContext.getProgramInfoLog(this._programObj)
- },
- reset: function () {
- this._fragShader = this._vertShader = null;
- this._uniforms.length = 0;
- this._glContext.deleteProgram(this._programObj);
- this._programObj = null;
- for (var a = 0; a < this._hashForUniforms.length; a++) this._hashForUniforms[a].value = null,
- this._hashForUniforms[a] = null;
- this._hashForUniforms.length = 0
- },
- getProgram: function () {
- return this._programObj
- },
- retain: function () { },
- release: function () { }
- });
- cc.GLProgram.create = function (a, b) {
- return new cc.GLProgram(a, b)
- };
- cc._currentProjectionMatrix = -1;
- cc._vertexAttribPosition = !1;
- cc._vertexAttribColor = !1;
- cc._vertexAttribTexCoords = !1;
- cc.ENABLE_GL_STATE_CACHE && (cc.MAX_ACTIVETEXTURE = 16, cc._currentShaderProgram = -1, cc._currentBoundTexture = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], cc._blendingSource = -1, cc._blendingDest = -1, cc._GLServerState = 0, cc.TEXTURE_ATLAS_USE_VAO && (cc._uVAO = 0));
- cc.glInvalidateStateCache = function () {
- cc.kmGLFreeAll();
- cc._currentProjectionMatrix = -1;
- cc._vertexAttribPosition = !1;
- cc._vertexAttribColor = !1;
- cc._vertexAttribTexCoords = !1;
- if (cc.ENABLE_GL_STATE_CACHE) {
- cc._currentShaderProgram = -1;
- for (var a = 0; a < cc.MAX_ACTIVETEXTURE; a++) cc._currentBoundTexture[a] = -1;
- cc._blendingSource = -1;
- cc._blendingDest = -1;
- cc._GLServerState = 0
- }
- };
- cc.glUseProgram = function (a) {
- a !== cc._currentShaderProgram && (cc._currentShaderProgram = a, cc._renderContext.useProgram(a))
- };
- cc.ENABLE_GL_STATE_CACHE || (cc.glUseProgram = function (a) {
- cc._renderContext.useProgram(a)
- });
- cc.glDeleteProgram = function (a) {
- cc.ENABLE_GL_STATE_CACHE && a === cc._currentShaderProgram && (cc._currentShaderProgram = -1);
- gl.deleteProgram(a)
- };
- cc.glBlendFunc = function (a, b) {
- if (a !== cc._blendingSource || b !== cc._blendingDest) cc._blendingSource = a,
- cc._blendingDest = b,
- cc.setBlending(a, b)
- };
- cc.setBlending = function (a, b) {
- var c = cc._renderContext;
- a === c.ONE && b === c.ZERO ? c.disable(c.BLEND) : (c.enable(c.BLEND), cc._renderContext.blendFunc(a, b))
- };
- cc.glBlendFuncForParticle = function (a, b) {
- if (a !== cc._blendingSource || b !== cc._blendingDest) {
- cc._blendingSource = a;
- cc._blendingDest = b;
- var c = cc._renderContext;
- a === c.ONE && b === c.ZERO ? c.disable(c.BLEND) : (c.enable(c.BLEND), c.blendFuncSeparate(c.SRC_ALPHA, b, a, b))
- }
- };
- cc.ENABLE_GL_STATE_CACHE || (cc.glBlendFunc = cc.setBlending);
- cc.glBlendResetToCache = function () {
- var a = cc._renderContext;
- a.blendEquation(a.FUNC_ADD);
- cc.ENABLE_GL_STATE_CACHE ? cc.setBlending(cc._blendingSource, cc._blendingDest) : cc.setBlending(a.BLEND_SRC, a.BLEND_DST)
- };
- cc.setProjectionMatrixDirty = function () {
- cc._currentProjectionMatrix = -1
- };
- cc.glEnableVertexAttribs = function (a) {
- var b = cc._renderContext,
- c = a & cc.VERTEX_ATTRIB_FLAG_POSITION;
- c !== cc._vertexAttribPosition && (c ? b.enableVertexAttribArray(cc.VERTEX_ATTRIB_POSITION) : b.disableVertexAttribArray(cc.VERTEX_ATTRIB_POSITION), cc._vertexAttribPosition = c);
- c = a & cc.VERTEX_ATTRIB_FLAG_COLOR;
- c !== cc._vertexAttribColor && (c ? b.enableVertexAttribArray(cc.VERTEX_ATTRIB_COLOR) : b.disableVertexAttribArray(cc.VERTEX_ATTRIB_COLOR), cc._vertexAttribColor = c);
- a &= cc.VERTEX_ATTRIB_FLAG_TEX_COORDS;
- a !== cc._vertexAttribTexCoords && (a ? b.enableVertexAttribArray(cc.VERTEX_ATTRIB_TEX_COORDS) : b.disableVertexAttribArray(cc.VERTEX_ATTRIB_TEX_COORDS), cc._vertexAttribTexCoords = a)
- };
- cc.glBindTexture2D = function (a) {
- cc.glBindTexture2DN(0, a)
- };
- cc.glBindTexture2DN = function (a, b) {
- if (cc._currentBoundTexture[a] != b) {
- cc._currentBoundTexture[a] = b;
- var c = cc._renderContext;
- c.activeTexture(c.TEXTURE0 + a);
- b ? c.bindTexture(c.TEXTURE_2D, b._webTextureObj) : c.bindTexture(c.TEXTURE_2D, null)
- }
- };
- cc.ENABLE_GL_STATE_CACHE || (cc.glBindTexture2DN = function (a, b) {
- var c = cc._renderContext;
- c.activeTexture(c.TEXTURE0 + a);
- b ? c.bindTexture(c.TEXTURE_2D, b._webTextureObj) : c.bindTexture(c.TEXTURE_2D, null)
- });
- cc.glDeleteTexture = function (a) {
- cc.glDeleteTextureN(0, a)
- };
- cc.glDeleteTextureN = function (a, b) {
- cc.ENABLE_GL_STATE_CACHE && b == cc._currentBoundTexture[a] && (cc._currentBoundTexture[a] = -1);
- cc._renderContext.deleteTexture(b)
- };
- cc.glBindVAO = function (a) {
- cc.TEXTURE_ATLAS_USE_VAO && cc.ENABLE_GL_STATE_CACHE && cc._uVAO != a && (cc._uVAO = a)
- };
- cc.glEnable = function (a) { };
- cc.ACTION_TAG_INVALID = -1;
- cc.Action = cc.Class.extend({
- originalTarget: null,
- target: null,
- tag: cc.ACTION_TAG_INVALID,
- ctor: function () {
- this.target = this.originalTarget = null;
- this.tag = cc.ACTION_TAG_INVALID
- },
- copy: function () {
- cc.log("copy is deprecated. Please use clone instead.");
- return this.clone()
- },
- clone: function () {
- var a = new cc.Action;
- a.originalTarget = null;
- a.target = null;
- a.tag = this.tag;
- return a
- },
- isDone: function () {
- return !0
- },
- startWithTarget: function (a) {
- this.target = this.originalTarget = a
- },
- stop: function () {
- this.target = null
- },
- step: function (a) {
- cc.log("[Action step]. override me")
- },
- update: function (a) {
- cc.log("[Action update]. override me")
- },
- getTarget: function () {
- return this.target
- },
- setTarget: function (a) {
- this.target = a
- },
- getOriginalTarget: function () {
- return this.originalTarget
- },
- setOriginalTarget: function (a) {
- this.originalTarget = a
- },
- getTag: function () {
- return this.tag
- },
- setTag: function (a) {
- this.tag = a
- },
- retain: function () { },
- release: function () { }
- });
- cc.action = function () {
- return new cc.Action
- };
- cc.Action.create = cc.action;
- cc.FiniteTimeAction = cc.Action.extend({
- _duration: 0,
- ctor: function () {
- cc.Action.prototype.ctor.call(this);
- this._duration = 0
- },
- getDuration: function () {
- return this._duration * (this._times || 1)
- },
- setDuration: function (a) {
- this._duration = a
- },
- reverse: function () {
- cc.log("cocos2d: FiniteTimeAction#reverse: Implement me");
- return null
- },
- clone: function () {
- return new cc.FiniteTimeAction
- }
- });
- cc.Speed = cc.Action.extend({
- _speed: 0,
- _innerAction: null,
- ctor: function (a, b) {
- cc.Action.prototype.ctor.call(this);
- this._speed = 0;
- this._innerAction = null;
- a && this.initWithAction(a, b)
- },
- getSpeed: function () {
- return this._speed
- },
- setSpeed: function (a) {
- this._speed = a
- },
- initWithAction: function (a, b) {
- if (!a) throw "cc.Speed.initWithAction(): action must be non nil";
- this._innerAction = a;
- this._speed = b;
- return !0
- },
- clone: function () {
- var a = new cc.Speed;
- a.initWithAction(this._innerAction.clone(), this._speed);
- return a
- },
- startWithTarget: function (a) {
- cc.Action.prototype.startWithTarget.call(this, a);
- this._innerAction.startWithTarget(a)
- },
- stop: function () {
- this._innerAction.stop();
- cc.Action.prototype.stop.call(this)
- },
- step: function (a) {
- this._innerAction.step(a * this._speed)
- },
- isDone: function () {
- return this._innerAction.isDone()
- },
- reverse: function () {
- return new cc.Speed(this._innerAction.reverse(), this._speed)
- },
- setInnerAction: function (a) {
- this._innerAction != a && (this._innerAction = a)
- },
- getInnerAction: function () {
- return this._innerAction
- }
- });
- cc.speed = function (a, b) {
- return new cc.Speed(a, b)
- };
- cc.Speed.create = cc.speed;
- cc.Follow = cc.Action.extend({
- _followedNode: null,
- _boundarySet: !1,
- _boundaryFullyCovered: !1,
- _halfScreenSize: null,
- _fullScreenSize: null,
- _worldRect: null,
- leftBoundary: 0,
- rightBoundary: 0,
- topBoundary: 0,
- bottomBoundary: 0,
- ctor: function (a, b) {
- cc.Action.prototype.ctor.call(this);
- this._followedNode = null;
- this._boundaryFullyCovered = this._boundarySet = !1;
- this._fullScreenSize = this._halfScreenSize = null;
- this.bottomBoundary = this.topBoundary = this.rightBoundary = this.leftBoundary = 0;
- this._worldRect = cc.rect(0, 0, 0, 0);
- a && (b ? this.initWithTarget(a, b) : this.initWithTarget(a))
- },
- clone: function () {
- var a = new cc.Follow,
- b = this._worldRect,
- b = new cc.Rect(b.x, b.y, b.width, b.height);
- a.initWithTarget(this._followedNode, b);
- return a
- },
- isBoundarySet: function () {
- return this._boundarySet
- },
- setBoudarySet: function (a) {
- this._boundarySet = a
- },
- initWithTarget: function (a, b) {
- if (!a) throw "cc.Follow.initWithAction(): followedNode must be non nil";
- b = b || cc.rect(0, 0, 0, 0);
- this._followedNode = a;
- this._worldRect = b;
- this._boundarySet = !cc._rectEqualToZero(b);
- this._boundaryFullyCovered = !1;
- var c = cc.director.getWinSize();
- this._fullScreenSize = cc.p(c.width, c.height);
- this._halfScreenSize = cc.pMult(this._fullScreenSize, 0.5);
- this._boundarySet && (this.leftBoundary = -(b.x + b.width - this._fullScreenSize.x), this.rightBoundary = -b.x, this.topBoundary = -b.y, this.bottomBoundary = -(b.y + b.height - this._fullScreenSize.y), this.rightBoundary < this.leftBoundary && (this.rightBoundary = this.leftBoundary = (this.leftBoundary + this.rightBoundary) / 2), this.topBoundary < this.bottomBoundary && (this.topBoundary = this.bottomBoundary = (this.topBoundary + this.bottomBoundary) / 2), this.topBoundary == this.bottomBoundary && this.leftBoundary == this.rightBoundary && (this._boundaryFullyCovered = !0));
- return !0
- },
- step: function (a) {
- a = this._followedNode.x;
- var b = this._followedNode.y;
- a = this._halfScreenSize.x - a;
- b = this._halfScreenSize.y - b;
- this._boundarySet ? this._boundaryFullyCovered || this.target.setPosition(cc.clampf(a, this.leftBoundary, this.rightBoundary), cc.clampf(b, this.bottomBoundary, this.topBoundary)) : this.target.setPosition(a, b)
- },
- isDone: function () {
- return !this._followedNode.running
- },
- stop: function () {
- this.target = null;
- cc.Action.prototype.stop.call(this)
- }
- });
- cc.follow = function (a, b) {
- return new cc.Follow(a, b)
- };
- cc.Follow.create = cc.follow;
- cc.ActionInterval = cc.FiniteTimeAction.extend({
- _elapsed: 0,
- _firstTick: !1,
- _easeList: null,
- _times: 1,
- _repeatForever: !1,
- _repeatMethod: !1,
- _speed: 1,
- _speedMethod: !1,
- ctor: function (a) {
- this._times = this._speed = 1;
- this._repeatForever = !1;
- this.MAX_VALUE = 2;
- this._speedMethod = this._repeatMethod = !1;
- cc.FiniteTimeAction.prototype.ctor.call(this);
- void 0 !== a && this.initWithDuration(a)
- },
- getElapsed: function () {
- return this._elapsed
- },
- initWithDuration: function (a) {
- this._duration = 0 === a ? cc.FLT_EPSILON : a;
- this._elapsed = 0;
- return this._firstTick = !0
- },
- isDone: function () {
- return this._elapsed >= this._duration
- },
- _cloneDecoration: function (a) {
- a._repeatForever = this._repeatForever;
- a._speed = this._speed;
- a._times = this._times;
- a._easeList = this._easeList;
- a._speedMethod = this._speedMethod;
- a._repeatMethod = this._repeatMethod
- },
- _reverseEaseList: function (a) {
- if (this._easeList) {
- a._easeList = [];
- for (var b = 0; b < this._easeList.length; b++) a._easeList.push(this._easeList[b].reverse())
- }
- },
- clone: function () {
- var a = new cc.ActionInterval(this._duration);
- this._cloneDecoration(a);
- return a
- },
- easing: function (a) {
- this._easeList ? this._easeList.length = 0 : this._easeList = [];
- for (var b = 0; b < arguments.length; b++) this._easeList.push(arguments[b]);
- return this
- },
- _computeEaseTime: function (a) {
- var b = this._easeList;
- if (!b || 0 === b.length) return a;
- for (var c = 0, d = b.length; c < d; c++) a = b[c].easing(a);
- return a
- },
- step: function (a) {
- this._firstTick ? (this._firstTick = !1, this._elapsed = 0) : this._elapsed += a;
- a = this._elapsed / (1.192092896E-7 < this._duration ? this._duration : 1.192092896E-7);
- a = 1 > a ? a : 1;
- this.update(0 < a ? a : 0);
- this._repeatMethod && 1 < this._times && this.isDone() && (this._repeatForever || this._times--, this.startWithTarget(this.target), this.step(this._elapsed - this._duration))
- },
- startWithTarget: function (a) {
- cc.Action.prototype.startWithTarget.call(this, a);
- this._elapsed = 0;
- this._firstTick = !0
- },
- reverse: function () {
- cc.log("cc.IntervalAction: reverse not implemented.");
- return null
- },
- setAmplitudeRate: function (a) {
- cc.log("cc.ActionInterval.setAmplitudeRate(): it should be overridden in subclass.")
- },
- getAmplitudeRate: function () {
- cc.log("cc.ActionInterval.getAmplitudeRate(): it should be overridden in subclass.");
- return 0
- },
- speed: function (a) {
- if (0 >= a) return cc.log("The speed parameter error"),
- this;
- this._speedMethod = !0;
- this._speed *= a;
- return this
- },
- getSpeed: function () {
- return this._speed
- },
- setSpeed: function (a) {
- this._speed = a;
- return this
- },
- repeat: function (a) {
- a = Math.round(a);
- if (isNaN(a) || 1 > a) return cc.log("The repeat parameter error"),
- this;
- this._repeatMethod = !0;
- this._times *= a;
- return this
- },
- repeatForever: function () {
- this._repeatMethod = !0;
- this._times = this.MAX_VALUE;
- this._repeatForever = !0;
- return this
- }
- });
- cc.actionInterval = function (a) {
- return new cc.ActionInterval(a)
- };
- cc.ActionInterval.create = cc.actionInterval;
- cc.Sequence = cc.ActionInterval.extend({
- _actions: null,
- _split: null,
- _last: 0,
- ctor: function (a) {
- cc.ActionInterval.prototype.ctor.call(this);
- this._actions = [];
- var b = a instanceof Array ? a : arguments,
- c = b.length - 1;
- 0 <= c && null == b[c] && cc.log("parameters should not be ending with null in Javascript");
- if (0 <= c) {
- for (var d = b[0], e = 1; e < c; e++) b[e] && (d = cc.Sequence._actionOneTwo(d, b[e]));
- this.initWithTwoActions(d, b[c])
- }
- },
- initWithTwoActions: function (a, b) {
- if (!a || !b) throw "cc.Sequence.initWithTwoActions(): arguments must all be non nil";
- this.initWithDuration(a._duration + b._duration);
- this._actions[0] = a;
- this._actions[1] = b;
- return !0
- },
- clone: function () {
- var a = new cc.Sequence;
- this._cloneDecoration(a);
- a.initWithTwoActions(this._actions[0].clone(), this._actions[1].clone());
- return a
- },
- startWithTarget: function (a) {
- cc.ActionInterval.prototype.startWithTarget.call(this, a);
- this._split = this._actions[0]._duration / this._duration;
- this._last = -1
- },
- stop: function () {
- -1 !== this._last && this._actions[this._last].stop();
- cc.Action.prototype.stop.call(this)
- },
- update: function (a) {
- a = this._computeEaseTime(a);
- var b = 0,
- c = this._split,
- d = this._actions,
- e = this._last;
- a < c ? (a = 0 !== c ? a / c : 1, 0 === b && 1 === e && (d[1].update(0), d[1].stop())) : (b = 1, a = 1 === c ? 1 : (a - c) / (1 - c), -1 === e && (d[0].startWithTarget(this.target), d[0].update(1), d[0].stop()), e || (d[0].update(1), d[0].stop()));
- e === b && d[b].isDone() || (e !== b && d[b].startWithTarget(this.target), d[b].update(a), this._last = b)
- },
- reverse: function () {
- var a = cc.Sequence._actionOneTwo(this._actions[1].reverse(), this._actions[0].reverse());
- this._cloneDecoration(a);
- this._reverseEaseList(a);
- return a
- }
- });
- cc.sequence = function (a) {
- var b = a instanceof Array ? a : arguments;
- 0 < b.length && null == b[b.length - 1] && cc.log("parameters should not be ending with null in Javascript");
- for (var c = b[0], d = 1; d < b.length; d++) b[d] && (c = cc.Sequence._actionOneTwo(c, b[d]));
- return c
- };
- cc.Sequence.create = cc.sequence;
- cc.Sequence._actionOneTwo = function (a, b) {
- var c = new cc.Sequence;
- c.initWithTwoActions(a, b);
- return c
- };
- cc.Repeat = cc.ActionInterval.extend({
- _times: 0,
- _total: 0,
- _nextDt: 0,
- _actionInstant: !1,
- _innerAction: null,
- ctor: function (a, b) {
- cc.ActionInterval.prototype.ctor.call(this);
- void 0 !== b && this.initWithAction(a, b)
- },
- initWithAction: function (a, b) {
- return this.initWithDuration(a._duration * b) ? (this._times = b, this._innerAction = a, a instanceof cc.ActionInstant && (this._actionInstant = !0, this._times -= 1), this._total = 0, !0) : !1
- },
- clone: function () {
- var a = new cc.Repeat;
- this._cloneDecoration(a);
- a.initWithAction(this._innerAction.clone(), this._times);
- return a
- },
- startWithTarget: function (a) {
- this._total = 0;
- this._nextDt = this._innerAction._duration / this._duration;
- cc.ActionInterval.prototype.startWithTarget.call(this, a);
- this._innerAction.startWithTarget(a)
- },
- stop: function () {
- this._innerAction.stop();
- cc.Action.prototype.stop.call(this)
- },
- update: function (a) {
- a = this._computeEaseTime(a);
- var b = this._innerAction,
- c = this._duration,
- d = this._times,
- e = this._nextDt;
- if (a >= e) {
- for (; a > e && this._total < d;) b.update(1),
- this._total++,
- b.stop(),
- b.startWithTarget(this.target),
- this._nextDt = e += b._duration / c;
- 1 <= a && this._total < d && this._total++;
- this._actionInstant || (this._total === d ? (b.update(1), b.stop()) : b.update(a - (e - b._duration / c)))
- } else b.update(a * d % 1)
- },
- isDone: function () {
- return this._total == this._times
- },
- reverse: function () {
- var a = new cc.Repeat(this._innerAction.reverse(), this._times);
- this._cloneDecoration(a);
- this._reverseEaseList(a);
- return a
- },
- setInnerAction: function (a) {
- this._innerAction != a && (this._innerAction = a)
- },
- getInnerAction: function () {
- return this._innerAction
- }
- });
- cc.repeat = function (a, b) {
- return new cc.Repeat(a, b)
- };
- cc.Repeat.create = cc.repeat;
- cc.RepeatForever = cc.ActionInterval.extend({
- _innerAction: null,
- ctor: function (a) {
- cc.ActionInterval.prototype.ctor.call(this);
- this._innerAction = null;
- a && this.initWithAction(a)
- },
- initWithAction: function (a) {
- if (!a) throw "cc.RepeatForever.initWithAction(): action must be non null";
- this._innerAction = a;
- return !0
- },
- clone: function () {
- var a = new cc.RepeatForever;
- this._cloneDecoration(a);
- a.initWithAction(this._innerAction.clone());
- return a
- },
- startWithTarget: function (a) {
- cc.ActionInterval.prototype.startWithTarget.call(this, a);
- this._innerAction.startWithTarget(a)
- },
- step: function (a) {
- var b = this._innerAction;
- b.step(a);
- b.isDone() && (b.startWithTarget(this.target), b.step(b.getElapsed() - b._duration))
- },
- isDone: function () {
- return !1
- },
- reverse: function () {
- var a = new cc.RepeatForever(this._innerAction.reverse());
- this._cloneDecoration(a);
- this._reverseEaseList(a);
- return a
- },
- setInnerAction: function (a) {
- this._innerAction != a && (this._innerAction = a)
- },
- getInnerAction: function () {
- return this._innerAction
- }
- });
- cc.repeatForever = function (a) {
- return new cc.RepeatForever(a)
- };
- cc.RepeatForever.create = cc.repeatForever;
- cc.Spawn = cc.ActionInterval.extend({
- _one: null,
- _two: null,
- ctor: function (a) {
- cc.ActionInterval.prototype.ctor.call(this);
- this._two = this._one = null;
- var b = a instanceof Array ? a : arguments,
- c = b.length - 1;
- 0 <= c && null == b[c] && cc.log("parameters should not be ending with null in Javascript");
- if (0 <= c) {
- for (var d = b[0], e = 1; e < c; e++) b[e] && (d = cc.Spawn._actionOneTwo(d, b[e]));
- this.initWithTwoActions(d, b[c])
- }
- },
- initWithTwoActions: function (a, b) {
- if (!a || !b) throw "cc.Spawn.initWithTwoActions(): arguments must all be non null";
- var c = !1,
- d = a._duration,
- e = b._duration;
- this.initWithDuration(Math.max(d, e)) && (this._one = a, this._two = b, d > e ? this._two = cc.Sequence._actionOneTwo(b, cc.delayTime(d - e)) : d < e && (this._one = cc.Sequence._actionOneTwo(a, cc.delayTime(e - d))), c = !0);
- return c
- },
- clone: function () {
- var a = new cc.Spawn;
- this._cloneDecoration(a);
- a.initWithTwoActions(this._one.clone(), this._two.clone());
- return a
- },
- startWithTarget: function (a) {
- cc.ActionInterval.prototype.startWithTarget.call(this, a);
- this._one.startWithTarget(a);
- this._two.startWithTarget(a)
- },
- stop: function () {
- this._one.stop();
- this._two.stop();
- cc.Action.prototype.stop.call(this)
- },
- update: function (a) {
- a = this._computeEaseTime(a);
- this._one && this._one.update(a);
- this._two && this._two.update(a)
- },
- reverse: function () {
- var a = cc.Spawn._actionOneTwo(this._one.reverse(), this._two.reverse());
- this._cloneDecoration(a);
- this._reverseEaseList(a);
- return a
- }
- });
- cc.spawn = function (a) {
- var b = a instanceof Array ? a : arguments;
- 0 < b.length && null == b[b.length - 1] && cc.log("parameters should not be ending with null in Javascript");
- for (var c = b[0], d = 1; d < b.length; d++) null != b[d] && (c = cc.Spawn._actionOneTwo(c, b[d]));
- return c
- };
- cc.Spawn.create = cc.spawn;
- cc.Spawn._actionOneTwo = function (a, b) {
- var c = new cc.Spawn;
- c.initWithTwoActions(a, b);
- return c
- };
- cc.RotateTo = cc.ActionInterval.extend({
- _dstAngleX: 0,
- _startAngleX: 0,
- _diffAngleX: 0,
- _dstAngleY: 0,
- _startAngleY: 0,
- _diffAngleY: 0,
- ctor: function (a, b, c) {
- cc.ActionInterval.prototype.ctor.call(this);
- void 0 !== b && this.initWithDuration(a, b, c)
- },
- initWithDuration: function (a, b, c) {
- return cc.ActionInterval.prototype.initWithDuration.call(this, a) ? (this._dstAngleX = b || 0, this._dstAngleY = c || this._dstAngleX, !0) : !1
- },
- clone: function () {
- var a = new cc.RotateTo;
- this._cloneDecoration(a);
- a.initWithDuration(this._duration, this._dstAngleX, this._dstAngleY);
- return a
- },
- startWithTarget: function (a) {
- cc.ActionInterval.prototype.startWithTarget.call(this, a);
- var b = a.rotationX % 360,
- c = this._dstAngleX - b;
- 180 < c && (c -= 360); -180 > c && (c += 360);
- this._startAngleX = b;
- this._diffAngleX = c;
- this._startAngleY = a.rotationY % 360;
- a = this._dstAngleY - this._startAngleY;
- 180 < a && (a -= 360); -180 > a && (a += 360);
- this._diffAngleY = a
- },
- reverse: function () {
- cc.log("cc.RotateTo.reverse(): it should be overridden in subclass.")
- },
- update: function (a) {
- a = this._computeEaseTime(a);
- this.target && (this.target.rotationX = this._startAngleX + this._diffAngleX * a, this.target.rotationY = this._startAngleY + this._diffAngleY * a)
- }
- });
- cc.rotateTo = function (a, b, c) {
- return new cc.RotateTo(a, b, c)
- };
- cc.RotateTo.create = cc.rotateTo;
- cc.RotateBy = cc.ActionInterval.extend({
- _angleX: 0,
- _startAngleX: 0,
- _angleY: 0,
- _startAngleY: 0,
- ctor: function (a, b, c) {
- cc.ActionInterval.prototype.ctor.call(this);
- void 0 !== b && this.initWithDuration(a, b, c)
- },
- initWithDuration: function (a, b, c) {
- return cc.ActionInterval.prototype.initWithDuration.call(this, a) ? (this._angleX = b || 0, this._angleY = c || this._angleX, !0) : !1
- },
- clone: function () {
- var a = new cc.RotateBy;
- this._cloneDecoration(a);
- a.initWithDuration(this._duration, this._angleX, this._angleY);
- return a
- },
- startWithTarget: function (a) {
- cc.ActionInterval.prototype.startWithTarget.call(this, a);
- this._startAngleX = a.rotationX;
- this._startAngleY = a.rotationY
- },
- update: function (a) {
- a = this._computeEaseTime(a);
- this.target && (this.target.rotationX = this._startAngleX + this._angleX * a, this.target.rotationY = this._startAngleY + this._angleY * a)
- },
- reverse: function () {
- var a = new cc.RotateBy(this._duration, -this._angleX, -this._angleY);
- this._cloneDecoration(a);
- this._reverseEaseList(a);
- return a
- }
- });
- cc.rotateBy = function (a, b, c) {
- return new cc.RotateBy(a, b, c)
- };
- cc.RotateBy.create = cc.rotateBy;
- cc.MoveBy = cc.ActionInterval.extend({
- _positionDelta: null,
- _startPosition: null,
- _previousPosition: null,
- ctor: function (a, b, c) {
- cc.ActionInterval.prototype.ctor.call(this);
- this._positionDelta = cc.p(0, 0);
- this._startPosition = cc.p(0, 0);
- this._previousPosition = cc.p(0, 0);
- void 0 !== b && this.initWithDuration(a, b, c)
- },
- initWithDuration: function (a, b, c) {
- return cc.ActionInterval.prototype.initWithDuration.call(this, a) ? (void 0 !== b.x && (c = b.y, b = b.x), this._positionDelta.x = b, this._positionDelta.y = c, !0) : !1
- },
- clone: function () {
- var a = new cc.MoveBy;
- this._cloneDecoration(a);
- a.initWithDuration(this._duration, this._positionDelta);
- return a
- },
- startWithTarget: function (a) {
- cc.ActionInterval.prototype.startWithTarget.call(this, a);
- var b = a.getPositionX();
- a = a.getPositionY();
- this._previousPosition.x = b;
- this._previousPosition.y = a;
- this._startPosition.x = b;
- this._startPosition.y = a
- },
- update: function (a) {
- a = this._computeEaseTime(a);
- if (this.target) {
- var b = this._positionDelta.x * a;
- a *= this._positionDelta.y;
- var c = this._startPosition;
- if (cc.ENABLE_STACKABLE_ACTIONS) {
- var d = this.target.getPositionX(),
- e = this.target.getPositionY(),
- f = this._previousPosition;
- c.x = c.x + d - f.x;
- c.y = c.y + e - f.y;
- b += c.x;
- a += c.y;
- f.x = b;
- f.y = a;
- this.target.setPosition(b, a)
- } else this.target.setPosition(c.x + b, c.y + a)
- }
- },
- reverse: function () {
- var a = new cc.MoveBy(this._duration, cc.p(-this._positionDelta.x, -this._positionDelta.y));
- this._cloneDecoration(a);
- this._reverseEaseList(a);
- return a
- }
- });
- cc.moveBy = function (a, b, c) {
- return new cc.MoveBy(a, b, c)
- };
- cc.MoveBy.create = cc.moveBy;
- cc.MoveTo = cc.MoveBy.extend({
- _endPosition: null,
- ctor: function (a, b, c) {
- cc.MoveBy.prototype.ctor.call(this);
- this._endPosition = cc.p(0, 0);
- void 0 !== b && this.initWithDuration(a, b, c)
- },
- initWithDuration: function (a, b, c) {
- return cc.MoveBy.prototype.initWithDuration.call(this, a, b, c) ? (void 0 !== b.x && (c = b.y, b = b.x), this._endPosition.x = b, this._endPosition.y = c, !0) : !1
- },
- clone: function () {
- var a = new cc.MoveTo;
- this._cloneDecoration(a);
- a.initWithDuration(this._duration, this._endPosition);
- return a
- },
- startWithTarget: function (a) {
- cc.MoveBy.prototype.startWithTarget.call(this, a);
- this._positionDelta.x = this._endPosition.x - a.getPositionX();
- this._positionDelta.y = this._endPosition.y - a.getPositionY()
- }
- });
- cc.moveTo = function (a, b, c) {
- return new cc.MoveTo(a, b, c)
- };
- cc.MoveTo.create = cc.moveTo;
- cc.SkewTo = cc.ActionInterval.extend({
- _skewX: 0,
- _skewY: 0,
- _startSkewX: 0,
- _startSkewY: 0,
- _endSkewX: 0,
- _endSkewY: 0,
- _deltaX: 0,
- _deltaY: 0,
- ctor: function (a, b, c) {
- cc.ActionInterval.prototype.ctor.call(this);
- void 0 !== c && this.initWithDuration(a, b, c)
- },
- initWithDuration: function (a, b, c) {
- var d = !1;
- cc.ActionInterval.prototype.initWithDuration.call(this, a) && (this._endSkewX = b, this._endSkewY = c, d = !0);
- return d
- },
- clone: function () {
- var a = new cc.SkewTo;
- this._cloneDecoration(a);
- a.initWithDuration(this._duration, this._endSkewX, this._endSkewY);
- return a
- },
- startWithTarget: function (a) {
- cc.ActionInterval.prototype.startWithTarget.call(this, a);
- this._startSkewX = a.skewX % 180;
- this._deltaX = this._endSkewX - this._startSkewX;
- 180 < this._deltaX && (this._deltaX -= 360); -180 > this._deltaX && (this._deltaX += 360);
- this._startSkewY = a.skewY % 360;
- this._deltaY = this._endSkewY - this._startSkewY;
- 180 < this._deltaY && (this._deltaY -= 360); -180 > this._deltaY && (this._deltaY += 360)
- },
- update: function (a) {
- a = this._computeEaseTime(a);
- this.target.skewX = this._startSkewX + this._deltaX * a;
- this.target.skewY = this._startSkewY + this._deltaY * a
- }
- });
- cc.skewTo = function (a, b, c) {
- return new cc.SkewTo(a, b, c)
- };
- cc.SkewTo.create = cc.skewTo;
- cc.SkewBy = cc.SkewTo.extend({
- ctor: function (a, b, c) {
- cc.SkewTo.prototype.ctor.call(this);
- void 0 !== c && this.initWithDuration(a, b, c)
- },
- initWithDuration: function (a, b, c) {
- var d = !1;
- cc.SkewTo.prototype.initWithDuration.call(this, a, b, c) && (this._skewX = b, this._skewY = c, d = !0);
- return d
- },
- clone: function () {
- var a = new cc.SkewBy;
- this._cloneDecoration(a);
- a.initWithDuration(this._duration, this._skewX, this._skewY);
- return a
- },
- startWithTarget: function (a) {
- cc.SkewTo.prototype.startWithTarget.call(this, a);
- this._deltaX = this._skewX;
- this._deltaY = this._skewY;
- this._endSkewX = this._startSkewX + this._deltaX;
- this._endSkewY = this._startSkewY + this._deltaY
- },
- reverse: function () {
- var a = new cc.SkewBy(this._duration, -this._skewX, -this._skewY);
- this._cloneDecoration(a);
- this._reverseEaseList(a);
- return a
- }
- });
- cc.skewBy = function (a, b, c) {
- return new cc.SkewBy(a, b, c)
- };
- cc.SkewBy.create = cc.skewBy;
- cc.JumpBy = cc.ActionInterval.extend({
- _startPosition: null,
- _delta: null,
- _height: 0,
- _jumps: 0,
- _previousPosition: null,
- ctor: function (a, b, c, d, e) {
- cc.ActionInterval.prototype.ctor.call(this);
- this._startPosition = cc.p(0, 0);
- this._previousPosition = cc.p(0, 0);
- this._delta = cc.p(0, 0);
- void 0 !== d && this.initWithDuration(a, b, c, d, e)
- },
- initWithDuration: function (a, b, c, d, e) {
- return cc.ActionInterval.prototype.initWithDuration.call(this, a) ? (void 0 === e && (e = d, d = c, c = b.y, b = b.x), this._delta.x = b, this._delta.y = c, this._height = d, this._jumps = e, !0) : !1
- },
- clone: function () {
- var a = new cc.JumpBy;
- this._cloneDecoration(a);
- a.initWithDuration(this._duration, this._delta, this._height, this._jumps);
- return a
- },
- startWithTarget: function (a) {
- cc.ActionInterval.prototype.startWithTarget.call(this, a);
- var b = a.getPositionX();
- a = a.getPositionY();
- this._previousPosition.x = b;
- this._previousPosition.y = a;
- this._startPosition.x = b;
- this._startPosition.y = a
- },
- update: function (a) {
- a = this._computeEaseTime(a);
- if (this.target) {
- var b = a * this._jumps % 1,
- b = 4 * this._height * b * (1 - b),
- b = b + this._delta.y * a;
- a *= this._delta.x;
- var c = this._startPosition;
- if (cc.ENABLE_STACKABLE_ACTIONS) {
- var d = this.target.getPositionX(),
- e = this.target.getPositionY(),
- f = this._previousPosition;
- c.x = c.x + d - f.x;
- c.y = c.y + e - f.y;
- a += c.x;
- b += c.y;
- f.x = a;
- f.y = b;
- this.target.setPosition(a, b)
- } else this.target.setPosition(c.x + a, c.y + b)
- }
- },
- reverse: function () {
- var a = new cc.JumpBy(this._duration, cc.p(-this._delta.x, -this._delta.y), this._height, this._jumps);
- this._cloneDecoration(a);
- this._reverseEaseList(a);
- return a
- }
- });
- cc.jumpBy = function (a, b, c, d, e) {
- return new cc.JumpBy(a, b, c, d, e)
- };
- cc.JumpBy.create = cc.jumpBy;
- cc.JumpTo = cc.JumpBy.extend({
- _endPosition: null,
- ctor: function (a, b, c, d, e) {
- cc.JumpBy.prototype.ctor.call(this);
- this._endPosition = cc.p(0, 0);
- void 0 !== d && this.initWithDuration(a, b, c, d, e)
- },
- initWithDuration: function (a, b, c, d, e) {
- return cc.JumpBy.prototype.initWithDuration.call(this, a, b, c, d, e) ? (void 0 === e && (c = b.y, b = b.x), this._endPosition.x = b, this._endPosition.y = c, !0) : !1
- },
- startWithTarget: function (a) {
- cc.JumpBy.prototype.startWithTarget.call(this, a);
- this._delta.x = this._endPosition.x - this._startPosition.x;
- this._delta.y = this._endPosition.y - this._startPosition.y
- },
- clone: function () {
- var a = new cc.JumpTo;
- this._cloneDecoration(a);
- a.initWithDuration(this._duration, this._endPosition, this._height, this._jumps);
- return a
- }
- });
- cc.jumpTo = function (a, b, c, d, e) {
- return new cc.JumpTo(a, b, c, d, e)
- };
- cc.JumpTo.create = cc.jumpTo;
- cc.bezierAt = function (a, b, c, d, e) {
- return Math.pow(1 - e, 3) * a + 3 * e * Math.pow(1 - e, 2) * b + 3 * Math.pow(e, 2) * (1 - e) * c + Math.pow(e, 3) * d
- };
- cc.BezierBy = cc.ActionInterval.extend({
- _config: null,
- _startPosition: null,
- _previousPosition: null,
- ctor: function (a, b) {
- cc.ActionInterval.prototype.ctor.call(this);
- this._config = [];
- this._startPosition = cc.p(0, 0);
- this._previousPosition = cc.p(0, 0);
- b && this.initWithDuration(a, b)
- },
- initWithDuration: function (a, b) {
- return cc.ActionInterval.prototype.initWithDuration.call(this, a) ? (this._config = b, !0) : !1
- },
- clone: function () {
- var a = new cc.BezierBy;
- this._cloneDecoration(a);
- for (var b = [], c = 0; c < this._config.length; c++) {
- var d = this._config[c];
- b.push(cc.p(d.x, d.y))
- }
- a.initWithDuration(this._duration, b);
- return a
- },
- startWithTarget: function (a) {
- cc.ActionInterval.prototype.startWithTarget.call(this, a);
- var b = a.getPositionX();
- a = a.getPositionY();
- this._previousPosition.x = b;
- this._previousPosition.y = a;
- this._startPosition.x = b;
- this._startPosition.y = a
- },
- update: function (a) {
- a = this._computeEaseTime(a);
- if (this.target) {
- var b = this._config,
- c = b[0].y,
- d = b[1].y,
- e = b[2].y,
- b = cc.bezierAt(0, b[0].x, b[1].x, b[2].x, a);
- a = cc.bezierAt(0, c, d, e, a);
- c = this._startPosition;
- if (cc.ENABLE_STACKABLE_ACTIONS) {
- var d = this.target.getPositionX(),
- e = this.target.getPositionY(),
- f = this._previousPosition;
- c.x = c.x + d - f.x;
- c.y = c.y + e - f.y;
- b += c.x;
- a += c.y;
- f.x = b;
- f.y = a;
- this.target.setPosition(b, a)
- } else this.target.setPosition(c.x + b, c.y + a)
- }
- },
- reverse: function () {
- var a = this._config,
- a = [cc.pAdd(a[1], cc.pNeg(a[2])), cc.pAdd(a[0], cc.pNeg(a[2])), cc.pNeg(a[2])],
- a = new cc.BezierBy(this._duration, a);
- this._cloneDecoration(a);
- this._reverseEaseList(a);
- return a
- }
- });
- cc.bezierBy = function (a, b) {
- return new cc.BezierBy(a, b)
- };
- cc.BezierBy.create = cc.bezierBy;
- cc.BezierTo = cc.BezierBy.extend({
- _toConfig: null,
- ctor: function (a, b) {
- cc.BezierBy.prototype.ctor.call(this);
- this._toConfig = [];
- b && this.initWithDuration(a, b)
- },
- initWithDuration: function (a, b) {
- return cc.ActionInterval.prototype.initWithDuration.call(this, a) ? (this._toConfig = b, !0) : !1
- },
- clone: function () {
- var a = new cc.BezierTo;
- this._cloneDecoration(a);
- a.initWithDuration(this._duration, this._toConfig);
- return a
- },
- startWithTarget: function (a) {
- cc.BezierBy.prototype.startWithTarget.call(this, a);
- a = this._startPosition;
- var b = this._toConfig,
- c = this._config;
- c[0] = cc.pSub(b[0], a);
- c[1] = cc.pSub(b[1], a);
- c[2] = cc.pSub(b[2], a)
- }
- });
- cc.bezierTo = function (a, b) {
- return new cc.BezierTo(a, b)
- };
- cc.BezierTo.create = cc.bezierTo;
- cc.ScaleTo = cc.ActionInterval.extend({
- _scaleX: 1,
- _scaleY: 1,
- _startScaleX: 1,
- _startScaleY: 1,
- _endScaleX: 0,
- _endScaleY: 0,
- _deltaX: 0,
- _deltaY: 0,
- ctor: function (a, b, c) {
- cc.ActionInterval.prototype.ctor.call(this);
- void 0 !== b && this.initWithDuration(a, b, c)
- },
- initWithDuration: function (a, b, c) {
- return cc.ActionInterval.prototype.initWithDuration.call(this, a) ? (this._endScaleX = b, this._endScaleY = null != c ? c : b, !0) : !1
- },
- clone: function () {
- var a = new cc.ScaleTo;
- this._cloneDecoration(a);
- a.initWithDuration(this._duration, this._endScaleX, this._endScaleY);
- return a
- },
- startWithTarget: function (a) {
- cc.ActionInterval.prototype.startWithTarget.call(this, a);
- this._startScaleX = a.scaleX;
- this._startScaleY = a.scaleY;
- this._deltaX = this._endScaleX - this._startScaleX;
- this._deltaY = this._endScaleY - this._startScaleY
- },
- update: function (a) {
- a = this._computeEaseTime(a);
- this.target && (this.target.scaleX = this._startScaleX + this._deltaX * a, this.target.scaleY = this._startScaleY + this._deltaY * a)
- }
- });
- cc.scaleTo = function (a, b, c) {
- return new cc.ScaleTo(a, b, c)
- };
- cc.ScaleTo.create = cc.scaleTo;
- cc.ScaleBy = cc.ScaleTo.extend({
- startWithTarget: function (a) {
- cc.ScaleTo.prototype.startWithTarget.call(this, a);
- this._deltaX = this._startScaleX * this._endScaleX - this._startScaleX;
- this._deltaY = this._startScaleY * this._endScaleY - this._startScaleY
- },
- reverse: function () {
- var a = new cc.ScaleBy(this._duration, 1 / this._endScaleX, 1 / this._endScaleY);
- this._cloneDecoration(a);
- this._reverseEaseList(a);
- return a
- },
- clone: function () {
- var a = new cc.ScaleBy;
- this._cloneDecoration(a);
- a.initWithDuration(this._duration, this._endScaleX, this._endScaleY);
- return a
- }
- });
- cc.scaleBy = function (a, b, c) {
- return new cc.ScaleBy(a, b, c)
- };
- cc.ScaleBy.create = cc.scaleBy;
- cc.Blink = cc.ActionInterval.extend({
- _times: 0,
- _originalState: !1,
- ctor: function (a, b) {
- cc.ActionInterval.prototype.ctor.call(this);
- void 0 !== b && this.initWithDuration(a, b)
- },
- initWithDuration: function (a, b) {
- return cc.ActionInterval.prototype.initWithDuration.call(this, a) ? (this._times = b, !0) : !1
- },
- clone: function () {
- var a = new cc.Blink;
- this._cloneDecoration(a);
- a.initWithDuration(this._duration, this._times);
- return a
- },
- update: function (a) {
- a = this._computeEaseTime(a);
- if (this.target && !this.isDone()) {
- var b = 1 / this._times;
- this.target.visible = a % b > b / 2
- }
- },
- startWithTarget: function (a) {
- cc.ActionInterval.prototype.startWithTarget.call(this, a);
- this._originalState = a.visible
- },
- stop: function () {
- this.target.visible = this._originalState;
- cc.ActionInterval.prototype.stop.call(this)
- },
- reverse: function () {
- var a = new cc.Blink(this._duration, this._times);
- this._cloneDecoration(a);
- this._reverseEaseList(a);
- return a
- }
- });
- cc.blink = function (a, b) {
- return new cc.Blink(a, b)
- };
- cc.Blink.create = cc.blink;
- cc.FadeTo = cc.ActionInterval.extend({
- _toOpacity: 0,
- _fromOpacity: 0,
- ctor: function (a, b) {
- cc.ActionInterval.prototype.ctor.call(this);
- void 0 !== b && this.initWithDuration(a, b)
- },
- initWithDuration: function (a, b) {
- return cc.ActionInterval.prototype.initWithDuration.call(this, a) ? (this._toOpacity = b, !0) : !1
- },
- clone: function () {
- var a = new cc.FadeTo;
- this._cloneDecoration(a);
- a.initWithDuration(this._duration, this._toOpacity);
- return a
- },
- update: function (a) {
- a = this._computeEaseTime(a);
- var b = void 0 !== this._fromOpacity ? this._fromOpacity : 255;
- this.target.opacity = b + (this._toOpacity - b) * a
- },
- startWithTarget: function (a) {
- cc.ActionInterval.prototype.startWithTarget.call(this, a);
- this._fromOpacity = a.opacity
- }
- });
- cc.fadeTo = function (a, b) {
- return new cc.FadeTo(a, b)
- };
- cc.FadeTo.create = cc.fadeTo;
- cc.FadeIn = cc.FadeTo.extend({
- _reverseAction: null,
- ctor: function (a) {
- cc.FadeTo.prototype.ctor.call(this);
- a && this.initWithDuration(a, 255)
- },
- reverse: function () {
- var a = new cc.FadeOut;
- a.initWithDuration(this._duration, 0);
- this._cloneDecoration(a);
- this._reverseEaseList(a);
- return a
- },
- clone: function () {
- var a = new cc.FadeIn;
- this._cloneDecoration(a);
- a.initWithDuration(this._duration, this._toOpacity);
- return a
- },
- startWithTarget: function (a) {
- this._reverseAction && (this._toOpacity = this._reverseAction._fromOpacity);
- cc.FadeTo.prototype.startWithTarget.call(this, a)
- }
- });
- cc.fadeIn = function (a) {
- return new cc.FadeIn(a)
- };
- cc.FadeIn.create = cc.fadeIn;
- cc.FadeOut = cc.FadeTo.extend({
- ctor: function (a) {
- cc.FadeTo.prototype.ctor.call(this);
- a && this.initWithDuration(a, 0)
- },
- reverse: function () {
- var a = new cc.FadeIn;
- a._reverseAction = this;
- a.initWithDuration(this._duration, 255);
- this._cloneDecoration(a);
- this._reverseEaseList(a);
- return a
- },
- clone: function () {
- var a = new cc.FadeOut;
- this._cloneDecoration(a);
- a.initWithDuration(this._duration, this._toOpacity);
- return a
- }
- });
- cc.fadeOut = function (a) {
- return new cc.FadeOut(a)
- };
- cc.FadeOut.create = cc.fadeOut;
- cc.TintTo = cc.ActionInterval.extend({
- _to: null,
- _from: null,
- ctor: function (a, b, c, d) {
- cc.ActionInterval.prototype.ctor.call(this);
- this._to = cc.color(0, 0, 0);
- this._from = cc.color(0, 0, 0);
- void 0 !== d && this.initWithDuration(a, b, c, d)
- },
- initWithDuration: function (a, b, c, d) {
- return cc.ActionInterval.prototype.initWithDuration.call(this, a) ? (this._to = cc.color(b, c, d), !0) : !1
- },
- clone: function () {
- var a = new cc.TintTo;
- this._cloneDecoration(a);
- var b = this._to;
- a.initWithDuration(this._duration, b.r, b.g, b.b);
- return a
- },
- startWithTarget: function (a) {
- cc.ActionInterval.prototype.startWithTarget.call(this, a);
- this._from = this.target.color
- },
- update: function (a) {
- a = this._computeEaseTime(a);
- var b = this._from,
- c = this._to;
- b && (this.target.color = cc.color(b.r + (c.r - b.r) * a, b.g + (c.g - b.g) * a, b.b + (c.b - b.b) * a))
- }
- });
- cc.tintTo = function (a, b, c, d) {
- return new cc.TintTo(a, b, c, d)
- };
- cc.TintTo.create = cc.tintTo;
- cc.TintBy = cc.ActionInterval.extend({
- _deltaR: 0,
- _deltaG: 0,
- _deltaB: 0,
- _fromR: 0,
- _fromG: 0,
- _fromB: 0,
- ctor: function (a, b, c, d) {
- cc.ActionInterval.prototype.ctor.call(this);
- void 0 !== d && this.initWithDuration(a, b, c, d)
- },
- initWithDuration: function (a, b, c, d) {
- return cc.ActionInterval.prototype.initWithDuration.call(this, a) ? (this._deltaR = b, this._deltaG = c, this._deltaB = d, !0) : !1
- },
- clone: function () {
- var a = new cc.TintBy;
- this._cloneDecoration(a);
- a.initWithDuration(this._duration, this._deltaR, this._deltaG, this._deltaB);
- return a
- },
- startWithTarget: function (a) {
- cc.ActionInterval.prototype.startWithTarget.call(this, a);
- a = a.color;
- this._fromR = a.r;
- this._fromG = a.g;
- this._fromB = a.b
- },
- update: function (a) {
- a = this._computeEaseTime(a);
- this.target.color = cc.color(this._fromR + this._deltaR * a, this._fromG + this._deltaG * a, this._fromB + this._deltaB * a)
- },
- reverse: function () {
- var a = new cc.TintBy(this._duration, -this._deltaR, -this._deltaG, -this._deltaB);
- this._cloneDecoration(a);
- this._reverseEaseList(a);
- return a
- }
- });
- cc.tintBy = function (a, b, c, d) {
- return new cc.TintBy(a, b, c, d)
- };
- cc.TintBy.create = cc.tintBy;
- cc.DelayTime = cc.ActionInterval.extend({
- update: function (a) { },
- reverse: function () {
- var a = new cc.DelayTime(this._duration);
- this._cloneDecoration(a);
- this._reverseEaseList(a);
- return a
- },
- clone: function () {
- var a = new cc.DelayTime;
- this._cloneDecoration(a);
- a.initWithDuration(this._duration);
- return a
- }
- });
- cc.delayTime = function (a) {
- return new cc.DelayTime(a)
- };
- cc.DelayTime.create = cc.delayTime;
- cc.ReverseTime = cc.ActionInterval.extend({
- _other: null,
- ctor: function (a) {
- cc.ActionInterval.prototype.ctor.call(this);
- this._other = null;
- a && this.initWithAction(a)
- },
- initWithAction: function (a) {
- if (!a) throw "cc.ReverseTime.initWithAction(): action must be non null";
- if (a == this._other) throw "cc.ReverseTime.initWithAction(): the action was already passed in.";
- return cc.ActionInterval.prototype.initWithDuration.call(this, a._duration) ? (this._other = a, !0) : !1
- },
- clone: function () {
- var a = new cc.ReverseTime;
- this._cloneDecoration(a);
- a.initWithAction(this._other.clone());
- return a
- },
- startWithTarget: function (a) {
- cc.ActionInterval.prototype.startWithTarget.call(this, a);
- this._other.startWithTarget(a)
- },
- update: function (a) {
- a = this._computeEaseTime(a);
- this._other && this._other.update(1 - a)
- },
- reverse: function () {
- return this._other.clone()
- },
- stop: function () {
- this._other.stop();
- cc.Action.prototype.stop.call(this)
- }
- });
- cc.reverseTime = function (a) {
- return new cc.ReverseTime(a)
- };
- cc.ReverseTime.create = cc.reverseTime;
- cc.Animate = cc.ActionInterval.extend({
- _animation: null,
- _nextFrame: 0,
- _origFrame: null,
- _executedLoops: 0,
- _splitTimes: null,
- ctor: function (a) {
- cc.ActionInterval.prototype.ctor.call(this);
- this._splitTimes = [];
- a && this.initWithAnimation(a)
- },
- getAnimation: function () {
- return this._animation
- },
- setAnimation: function (a) {
- this._animation = a
- },
- initWithAnimation: function (a) {
- if (!a) throw "cc.Animate.initWithAnimation(): animation must be non-NULL";
- var b = a.getDuration();
- if (this.initWithDuration(b * a.getLoops())) {
- this._nextFrame = 0;
- this.setAnimation(a);
- this._origFrame = null;
- this._executedLoops = 0;
- var c = this._splitTimes,
- d = c.length = 0,
- e = b / a.getTotalDelayUnits();
- a = a.getFrames();
- cc.arrayVerifyType(a, cc.AnimationFrame);
- for (var f = 0; f < a.length; f++) {
- var g = d * e / b,
- d = d + a[f].getDelayUnits();
- c.push(g)
- }
- return !0
- }
- return !1
- },
- clone: function () {
- var a = new cc.Animate;
- this._cloneDecoration(a);
- a.initWithAnimation(this._animation.clone());
- return a
- },
- startWithTarget: function (a) {
- cc.ActionInterval.prototype.startWithTarget.call(this, a);
- this._animation.getRestoreOriginalFrame() && (this._origFrame = a.displayFrame());
- this._executedLoops = this._nextFrame = 0
- },
- update: function (a) {
- a = this._computeEaseTime(a);
- 1 > a && (a *= this._animation.getLoops(), (0 | a) > this._executedLoops && (this._nextFrame = 0, this._executedLoops++), a %= 1);
- for (var b = this._animation.getFrames(), c = b.length, d = this._splitTimes, e = this._nextFrame; e < c; e++) if (d[e] <= a) this.target.setSpriteFrame(b[e].getSpriteFrame()),
- this._nextFrame = e + 1;
- else break
- },
- reverse: function () {
- var a = this._animation,
- b = a.getFrames(),
- c = [];
- cc.arrayVerifyType(b, cc.AnimationFrame);
- if (0 < b.length) for (var d = b.length - 1; 0 <= d; d--) {
- var e = b[d];
- if (!e) break;
- c.push(e.clone())
- }
- b = new cc.Animation(c, a.getDelayPerUnit(), a.getLoops());
- b.setRestoreOriginalFrame(a.getRestoreOriginalFrame());
- a = new cc.Animate(b);
- this._cloneDecoration(a);
- this._reverseEaseList(a);
- return a
- },
- stop: function () {
- this._animation.getRestoreOriginalFrame() && this.target && this.target.setSpriteFrame(this._origFrame);
- cc.Action.prototype.stop.call(this)
- }
- });
- cc.animate = function (a) {
- return new cc.Animate(a)
- };
- cc.Animate.create = cc.animate;
- cc.TargetedAction = cc.ActionInterval.extend({
- _action: null,
- _forcedTarget: null,
- ctor: function (a, b) {
- cc.ActionInterval.prototype.ctor.call(this);
- b && this.initWithTarget(a, b)
- },
- initWithTarget: function (a, b) {
- return this.initWithDuration(b._duration) ? (this._forcedTarget = a, this._action = b, !0) : !1
- },
- clone: function () {
- var a = new cc.TargetedAction;
- this._cloneDecoration(a);
- a.initWithTarget(this._forcedTarget, this._action.clone());
- return a
- },
- startWithTarget: function (a) {
- cc.ActionInterval.prototype.startWithTarget.call(this, a);
- this._action.startWithTarget(this._forcedTarget)
- },
- stop: function () {
- this._action.stop()
- },
- update: function (a) {
- a = this._computeEaseTime(a);
- this._action.update(a)
- },
- getForcedTarget: function () {
- return this._forcedTarget
- },
- setForcedTarget: function (a) {
- this._forcedTarget != a && (this._forcedTarget = a)
- }
- });
- cc.targetedAction = function (a, b) {
- return new cc.TargetedAction(a, b)
- };
- cc.TargetedAction.create = cc.targetedAction;
- cc.ActionInstant = cc.FiniteTimeAction.extend({
- isDone: function () {
- return !0
- },
- step: function (a) {
- this.update(1)
- },
- update: function (a) { },
- reverse: function () {
- return this.clone()
- },
- clone: function () {
- return new cc.ActionInstant
- }
- });
- cc.Show = cc.ActionInstant.extend({
- update: function (a) {
- this.target.visible = !0
- },
- reverse: function () {
- return new cc.Hide
- },
- clone: function () {
- return new cc.Show
- }
- });
- cc.show = function () {
- return new cc.Show
- };
- cc.Show.create = cc.show;
- cc.Hide = cc.ActionInstant.extend({
- update: function (a) {
- this.target.visible = !1
- },
- reverse: function () {
- return new cc.Show
- },
- clone: function () {
- return new cc.Hide
- }
- });
- cc.hide = function () {
- return new cc.Hide
- };
- cc.Hide.create = cc.hide;
- cc.ToggleVisibility = cc.ActionInstant.extend({
- update: function (a) {
- this.target.visible = !this.target.visible
- },
- reverse: function () {
- return new cc.ToggleVisibility
- },
- clone: function () {
- return new cc.ToggleVisibility
- }
- });
- cc.toggleVisibility = function () {
- return new cc.ToggleVisibility
- };
- cc.ToggleVisibility.create = cc.toggleVisibility;
- cc.RemoveSelf = cc.ActionInstant.extend({
- _isNeedCleanUp: !0,
- ctor: function (a) {
- cc.FiniteTimeAction.prototype.ctor.call(this);
- void 0 !== a && this.init(a)
- },
- update: function (a) {
- this.target.removeFromParent(this._isNeedCleanUp)
- },
- init: function (a) {
- this._isNeedCleanUp = a;
- return !0
- },
- reverse: function () {
- return new cc.RemoveSelf(this._isNeedCleanUp)
- },
- clone: function () {
- return new cc.RemoveSelf(this._isNeedCleanUp)
- }
- });
- cc.removeSelf = function (a) {
- return new cc.RemoveSelf(a)
- };
- cc.RemoveSelf.create = cc.removeSelf;
- cc.FlipX = cc.ActionInstant.extend({
- _flippedX: !1,
- ctor: function (a) {
- cc.FiniteTimeAction.prototype.ctor.call(this);
- this._flippedX = !1;
- void 0 !== a && this.initWithFlipX(a)
- },
- initWithFlipX: function (a) {
- this._flippedX = a;
- return !0
- },
- update: function (a) {
- this.target.flippedX = this._flippedX
- },
- reverse: function () {
- return new cc.FlipX(!this._flippedX)
- },
- clone: function () {
- var a = new cc.FlipX;
- a.initWithFlipX(this._flippedX);
- return a
- }
- });
- cc.flipX = function (a) {
- return new cc.FlipX(a)
- };
- cc.FlipX.create = cc.flipX;
- cc.FlipY = cc.ActionInstant.extend({
- _flippedY: !1,
- ctor: function (a) {
- cc.FiniteTimeAction.prototype.ctor.call(this);
- this._flippedY = !1;
- void 0 !== a && this.initWithFlipY(a)
- },
- initWithFlipY: function (a) {
- this._flippedY = a;
- return !0
- },
- update: function (a) {
- this.target.flippedY = this._flippedY
- },
- reverse: function () {
- return new cc.FlipY(!this._flippedY)
- },
- clone: function () {
- var a = new cc.FlipY;
- a.initWithFlipY(this._flippedY);
- return a
- }
- });
- cc.flipY = function (a) {
- return new cc.FlipY(a)
- };
- cc.FlipY.create = cc.flipY;
- cc.Place = cc.ActionInstant.extend({
- _x: 0,
- _y: 0,
- ctor: function (a, b) {
- cc.FiniteTimeAction.prototype.ctor.call(this);
- this._y = this._x = 0;
- void 0 !== a && (void 0 !== a.x && (b = a.y, a = a.x), this.initWithPosition(a, b))
- },
- initWithPosition: function (a, b) {
- this._x = a;
- this._y = b;
- return !0
- },
- update: function (a) {
- this.target.setPosition(this._x, this._y)
- },
- clone: function () {
- var a = new cc.Place;
- a.initWithPosition(this._x, this._y);
- return a
- }
- });
- cc.place = function (a, b) {
- return new cc.Place(a, b)
- };
- cc.Place.create = cc.place;
- cc.CallFunc = cc.ActionInstant.extend({
- _selectorTarget: null,
- _callFunc: null,
- _function: null,
- _data: null,
- ctor: function (a, b, c) {
- cc.FiniteTimeAction.prototype.ctor.call(this);
- void 0 !== a && (void 0 === b ? this.initWithFunction(a) : this.initWithFunction(a, b, c))
- },
- initWithFunction: function (a, b, c) {
- b ? (this._data = c, this._callFunc = a, this._selectorTarget = b) : a && (this._function = a);
- return !0
- },
- execute: function () {
- null != this._callFunc ? this._callFunc.call(this._selectorTarget, this.target, this._data) : this._function && this._function.call(null, this.target)
- },
- update: function (a) {
- this.execute()
- },
- getTargetCallback: function () {
- return this._selectorTarget
- },
- setTargetCallback: function (a) {
- a != this._selectorTarget && (this._selectorTarget && (this._selectorTarget = null), this._selectorTarget = a)
- },
- clone: function () {
- var a = new cc.CallFunc;
- this._selectorTarget ? a.initWithFunction(this._callFunc, this._selectorTarget, this._data) : this._function && a.initWithFunction(this._function);
- return a
- }
- });
- cc.callFunc = function (a, b, c) {
- return new cc.CallFunc(a, b, c)
- };
- cc.CallFunc.create = cc.callFunc;
- cc.ActionCamera = cc.ActionInterval.extend({
- _centerXOrig: 0,
- _centerYOrig: 0,
- _centerZOrig: 0,
- _eyeXOrig: 0,
- _eyeYOrig: 0,
- _eyeZOrig: 0,
- _upXOrig: 0,
- _upYOrig: 0,
- _upZOrig: 0,
- ctor: function () {
- cc.ActionInterval.prototype.ctor.call(this);
- this._upZOrig = this._upYOrig = this._upXOrig = this._eyeZOrig = this._eyeYOrig = this._eyeXOrig = this._centerZOrig = this._centerYOrig = this._centerXOrig = 0
- },
- startWithTarget: function (a) {
- cc.ActionInterval.prototype.startWithTarget.call(this, a);
- a = a.getCamera();
- var b = a.getCenter();
- this._centerXOrig = b.x;
- this._centerYOrig = b.y;
- this._centerZOrig = b.z;
- b = a.getEye();
- this._eyeXOrig = b.x;
- this._eyeYOrig = b.y;
- this._eyeZOrig = b.z;
- a = a.getUp();
- this._upXOrig = a.x;
- this._upYOrig = a.y;
- this._upZOrig = a.z
- },
- clone: function () {
- return new cc.ActionCamera
- },
- reverse: function () {
- return new cc.ReverseTime(this)
- }
- });
- cc.OrbitCamera = cc.ActionCamera.extend({
- _radius: 0,
- _deltaRadius: 0,
- _angleZ: 0,
- _deltaAngleZ: 0,
- _angleX: 0,
- _deltaAngleX: 0,
- _radZ: 0,
- _radDeltaZ: 0,
- _radX: 0,
- _radDeltaX: 0,
- ctor: function (a, b, c, d, e, f, g) {
- cc.ActionCamera.prototype.ctor.call(this);
- void 0 !== g && this.initWithDuration(a, b, c, d, e, f, g)
- },
- initWithDuration: function (a, b, c, d, e, f, g) {
- return cc.ActionInterval.prototype.initWithDuration.call(this, a) ? (this._radius = b, this._deltaRadius = c, this._angleZ = d, this._deltaAngleZ = e, this._angleX = f, this._deltaAngleX = g, this._radDeltaZ = cc.degreesToRadians(e), this._radDeltaX = cc.degreesToRadians(g), !0) : !1
- },
- sphericalRadius: function () {
- var a,
- b;
- b = this.target.getCamera();
- var c = b.getEye();
- a = b.getCenter();
- b = c.x - a.x;
- var d = c.y - a.y;
- a = c.z - a.z;
- var c = Math.sqrt(Math.pow(b, 2) + Math.pow(d, 2) + Math.pow(a, 2)),
- e = Math.sqrt(Math.pow(b, 2) + Math.pow(d, 2));
- 0 === e && (e = cc.FLT_EPSILON);
- 0 === c && (c = cc.FLT_EPSILON);
- a = Math.acos(a / c);
- b = 0 > b ? Math.PI - Math.asin(d / e) : Math.asin(d / e);
- return {
- newRadius: c / cc.Camera.getZEye(),
- zenith: a,
- azimuth: b
- }
- },
- startWithTarget: function (a) {
- cc.ActionInterval.prototype.startWithTarget.call(this, a);
- a = this.sphericalRadius();
- isNaN(this._radius) && (this._radius = a.newRadius);
- isNaN(this._angleZ) && (this._angleZ = cc.radiansToDegrees(a.zenith));
- isNaN(this._angleX) && (this._angleX = cc.radiansToDegrees(a.azimuth));
- this._radZ = cc.degreesToRadians(this._angleZ);
- this._radX = cc.degreesToRadians(this._angleX)
- },
- clone: function () {
- var a = new cc.OrbitCamera;
- a.initWithDuration(this._duration, this._radius, this._deltaRadius, this._angleZ, this._deltaAngleZ, this._angleX, this._deltaAngleX);
- return a
- },
- update: function (a) {
- a = this._computeEaseTime(a);
- var b = (this._radius + this._deltaRadius * a) * cc.Camera.getZEye(),
- c = this._radZ + this._radDeltaZ * a,
- d = this._radX + this._radDeltaX * a;
- a = Math.sin(c) * Math.cos(d) * b + this._centerXOrig;
- d = Math.sin(c) * Math.sin(d) * b + this._centerYOrig;
- b = Math.cos(c) * b + this._centerZOrig;
- this.target.getCamera().setEye(a, d, b)
- }
- });
- cc.orbitCamera = function (a, b, c, d, e, f, g) {
- return new cc.OrbitCamera(a, b, c, d, e, f, g)
- };
- cc.OrbitCamera.create = cc.orbitCamera;
- cc.ActionEase = cc.ActionInterval.extend({
- _inner: null,
- ctor: function (a) {
- cc.ActionInterval.prototype.ctor.call(this);
- a && this.initWithAction(a)
- },
- initWithAction: function (a) {
- if (!a) throw "cc.ActionEase.initWithAction(): action must be non nil";
- return this.initWithDuration(a.getDuration()) ? (this._inner = a, !0) : !1
- },
- clone: function () {
- var a = new cc.ActionEase;
- a.initWithAction(this._inner.clone());
- return a
- },
- startWithTarget: function (a) {
- cc.ActionInterval.prototype.startWithTarget.call(this, a);
- this._inner.startWithTarget(this.target)
- },
- stop: function () {
- this._inner.stop();
- cc.ActionInterval.prototype.stop.call(this)
- },
- update: function (a) {
- this._inner.update(a)
- },
- reverse: function () {
- return new cc.ActionEase(this._inner.reverse())
- },
- getInnerAction: function () {
- return this._inner
- }
- });
- cc.actionEase = function (a) {
- return new cc.ActionEase(a)
- };
- cc.ActionEase.create = cc.actionEase;
- cc.EaseRateAction = cc.ActionEase.extend({
- _rate: 0,
- ctor: function (a, b) {
- cc.ActionEase.prototype.ctor.call(this);
- void 0 !== b && this.initWithAction(a, b)
- },
- setRate: function (a) {
- this._rate = a
- },
- getRate: function () {
- return this._rate
- },
- initWithAction: function (a, b) {
- return cc.ActionEase.prototype.initWithAction.call(this, a) ? (this._rate = b, !0) : !1
- },
- clone: function () {
- var a = new cc.EaseRateAction;
- a.initWithAction(this._inner.clone(), this._rate);
- return a
- },
- reverse: function () {
- return new cc.EaseRateAction(this._inner.reverse(), 1 / this._rate)
- }
- });
- cc.easeRateAction = function (a, b) {
- return new cc.EaseRateAction(a, b)
- };
- cc.EaseRateAction.create = cc.easeRateAction;
- cc.EaseIn = cc.EaseRateAction.extend({
- update: function (a) {
- this._inner.update(Math.pow(a, this._rate))
- },
- reverse: function () {
- return new cc.EaseIn(this._inner.reverse(), 1 / this._rate)
- },
- clone: function () {
- var a = new cc.EaseIn;
- a.initWithAction(this._inner.clone(), this._rate);
- return a
- }
- });
- cc.EaseIn.create = function (a, b) {
- return new cc.EaseIn(a, b)
- };
- cc.easeIn = function (a) {
- return {
- _rate: a,
- easing: function (a) {
- return Math.pow(a, this._rate)
- },
- reverse: function () {
- return cc.easeIn(1 / this._rate)
- }
- }
- };
- cc.EaseOut = cc.EaseRateAction.extend({
- update: function (a) {
- this._inner.update(Math.pow(a, 1 / this._rate))
- },
- reverse: function () {
- return new cc.EaseOut(this._inner.reverse(), 1 / this._rate)
- },
- clone: function () {
- var a = new cc.EaseOut;
- a.initWithAction(this._inner.clone(), this._rate);
- return a
- }
- });
- cc.EaseOut.create = function (a, b) {
- return new cc.EaseOut(a, b)
- };
- cc.easeOut = function (a) {
- return {
- _rate: a,
- easing: function (a) {
- return Math.pow(a, 1 / this._rate)
- },
- reverse: function () {
- return cc.easeOut(1 / this._rate)
- }
- }
- };
- cc.EaseInOut = cc.EaseRateAction.extend({
- update: function (a) {
- a *= 2;
- 1 > a ? this._inner.update(0.5 * Math.pow(a, this._rate)) : this._inner.update(1 - 0.5 * Math.pow(2 - a, this._rate))
- },
- clone: function () {
- var a = new cc.EaseInOut;
- a.initWithAction(this._inner.clone(), this._rate);
- return a
- },
- reverse: function () {
- return new cc.EaseInOut(this._inner.reverse(), this._rate)
- }
- });
- cc.EaseInOut.create = function (a, b) {
- return new cc.EaseInOut(a, b)
- };
- cc.easeInOut = function (a) {
- return {
- _rate: a,
- easing: function (a) {
- a *= 2;
- return 1 > a ? 0.5 * Math.pow(a, this._rate) : 1 - 0.5 * Math.pow(2 - a, this._rate)
- },
- reverse: function () {
- return cc.easeInOut(this._rate)
- }
- }
- };
- cc.EaseExponentialIn = cc.ActionEase.extend({
- update: function (a) {
- this._inner.update(0 === a ? 0 : Math.pow(2, 10 * (a - 1)))
- },
- reverse: function () {
- return new cc.EaseExponentialOut(this._inner.reverse())
- },
- clone: function () {
- var a = new cc.EaseExponentialIn;
- a.initWithAction(this._inner.clone());
- return a
- }
- });
- cc.EaseExponentialIn.create = function (a) {
- return new cc.EaseExponentialIn(a)
- };
- cc._easeExponentialInObj = {
- easing: function (a) {
- return 0 === a ? 0 : Math.pow(2, 10 * (a - 1))
- },
- reverse: function () {
- return cc._easeExponentialOutObj
- }
- };
- cc.easeExponentialIn = function () {
- return cc._easeExponentialInObj
- };
- cc.EaseExponentialOut = cc.ActionEase.extend({
- update: function (a) {
- this._inner.update(1 == a ? 1 : -Math.pow(2, -10 * a) + 1)
- },
- reverse: function () {
- return new cc.EaseExponentialIn(this._inner.reverse())
- },
- clone: function () {
- var a = new cc.EaseExponentialOut;
- a.initWithAction(this._inner.clone());
- return a
- }
- });
- cc.EaseExponentialOut.create = function (a) {
- return new cc.EaseExponentialOut(a)
- };
- cc._easeExponentialOutObj = {
- easing: function (a) {
- return 1 == a ? 1 : -Math.pow(2, -10 * a) + 1
- },
- reverse: function () {
- return cc._easeExponentialInObj
- }
- };
- cc.easeExponentialOut = function () {
- return cc._easeExponentialOutObj
- };
- cc.EaseExponentialInOut = cc.ActionEase.extend({
- update: function (a) {
- 1 != a && 0 !== a && (a *= 2, a = 1 > a ? 0.5 * Math.pow(2, 10 * (a - 1)) : 0.5 * (-Math.pow(2, -10 * (a - 1)) + 2));
- this._inner.update(a)
- },
- reverse: function () {
- return new cc.EaseExponentialInOut(this._inner.reverse())
- },
- clone: function () {
- var a = new cc.EaseExponentialInOut;
- a.initWithAction(this._inner.clone());
- return a
- }
- });
- cc.EaseExponentialInOut.create = function (a) {
- return new cc.EaseExponentialInOut(a)
- };
- cc._easeExponentialInOutObj = {
- easing: function (a) {
- return 1 !== a && 0 !== a ? (a *= 2, 1 > a ? 0.5 * Math.pow(2, 10 * (a - 1)) : 0.5 * (-Math.pow(2, -10 * (a - 1)) + 2)) : a
- },
- reverse: function () {
- return cc._easeExponentialInOutObj
- }
- };
- cc.easeExponentialInOut = function () {
- return cc._easeExponentialInOutObj
- };
- cc.EaseSineIn = cc.ActionEase.extend({
- update: function (a) {
- a = 0 === a || 1 === a ? a : -1 * Math.cos(a * Math.PI / 2) + 1;
- this._inner.update(a)
- },
- reverse: function () {
- return new cc.EaseSineOut(this._inner.reverse())
- },
- clone: function () {
- var a = new cc.EaseSineIn;
- a.initWithAction(this._inner.clone());
- return a
- }
- });
- cc.EaseSineIn.create = function (a) {
- return new cc.EaseSineIn(a)
- };
- cc._easeSineInObj = {
- easing: function (a) {
- return 0 === a || 1 === a ? a : -1 * Math.cos(a * Math.PI / 2) + 1
- },
- reverse: function () {
- return cc._easeSineOutObj
- }
- };
- cc.easeSineIn = function () {
- return cc._easeSineInObj
- };
- cc.EaseSineOut = cc.ActionEase.extend({
- update: function (a) {
- a = 0 === a || 1 === a ? a : Math.sin(a * Math.PI / 2);
- this._inner.update(a)
- },
- reverse: function () {
- return new cc.EaseSineIn(this._inner.reverse())
- },
- clone: function () {
- var a = new cc.EaseSineOut;
- a.initWithAction(this._inner.clone());
- return a
- }
- });
- cc.EaseSineOut.create = function (a) {
- return new cc.EaseSineOut(a)
- };
- cc._easeSineOutObj = {
- easing: function (a) {
- return 0 === a || 1 == a ? a : Math.sin(a * Math.PI / 2)
- },
- reverse: function () {
- return cc._easeSineInObj
- }
- };
- cc.easeSineOut = function () {
- return cc._easeSineOutObj
- };
- cc.EaseSineInOut = cc.ActionEase.extend({
- update: function (a) {
- a = 0 === a || 1 === a ? a : -0.5 * (Math.cos(Math.PI * a) - 1);
- this._inner.update(a)
- },
- clone: function () {
- var a = new cc.EaseSineInOut;
- a.initWithAction(this._inner.clone());
- return a
- },
- reverse: function () {
- return new cc.EaseSineInOut(this._inner.reverse())
- }
- });
- cc.EaseSineInOut.create = function (a) {
- return new cc.EaseSineInOut(a)
- };
- cc._easeSineInOutObj = {
- easing: function (a) {
- return 0 === a || 1 === a ? a : -0.5 * (Math.cos(Math.PI * a) - 1)
- },
- reverse: function () {
- return cc._easeSineInOutObj
- }
- };
- cc.easeSineInOut = function () {
- return cc._easeSineInOutObj
- };
- cc.EaseElastic = cc.ActionEase.extend({
- _period: 0.3,
- ctor: function (a, b) {
- cc.ActionEase.prototype.ctor.call(this);
- a && this.initWithAction(a, b)
- },
- getPeriod: function () {
- return this._period
- },
- setPeriod: function (a) {
- this._period = a
- },
- initWithAction: function (a, b) {
- cc.ActionEase.prototype.initWithAction.call(this, a);
- this._period = null == b ? 0.3 : b;
- return !0
- },
- reverse: function () {
- cc.log("cc.EaseElastic.reverse(): it should be overridden in subclass.");
- return null
- },
- clone: function () {
- var a = new cc.EaseElastic;
- a.initWithAction(this._inner.clone(), this._period);
- return a
- }
- });
- cc.EaseElastic.create = function (a, b) {
- return new cc.EaseElastic(a, b)
- };
- cc.EaseElasticIn = cc.EaseElastic.extend({
- update: function (a) {
- var b = 0;
- 0 === a || 1 === a ? b = a : (b = this._period / 4, a -= 1, b = -Math.pow(2, 10 * a) * Math.sin((a - b) * Math.PI * 2 / this._period));
- this._inner.update(b)
- },
- reverse: function () {
- return new cc.EaseElasticOut(this._inner.reverse(), this._period)
- },
- clone: function () {
- var a = new cc.EaseElasticIn;
- a.initWithAction(this._inner.clone(), this._period);
- return a
- }
- });
- cc.EaseElasticIn.create = function (a, b) {
- return new cc.EaseElasticIn(a, b)
- };
- cc._easeElasticInObj = {
- easing: function (a) {
- if (0 === a || 1 === a) return a;
- a -= 1;
- return -Math.pow(2, 10 * a) * Math.sin((a - 0.075) * Math.PI * 2 / 0.3)
- },
- reverse: function () {
- return cc._easeElasticOutObj
- }
- };
- cc.easeElasticIn = function (a) {
- return a && 0.3 !== a ? {
- _period: a,
- easing: function (a) {
- if (0 === a || 1 === a) return a;
- a -= 1;
- return -Math.pow(2, 10 * a) * Math.sin((a - this._period / 4) * Math.PI * 2 / this._period)
- },
- reverse: function () {
- return cc.easeElasticOut(this._period)
- }
- } : cc._easeElasticInObj
- };
- cc.EaseElasticOut = cc.EaseElastic.extend({
- update: function (a) {
- var b = 0;
- 0 === a || 1 == a ? b = a : (b = this._period / 4, b = Math.pow(2, -10 * a) * Math.sin((a - b) * Math.PI * 2 / this._period) + 1);
- this._inner.update(b)
- },
- reverse: function () {
- return new cc.EaseElasticIn(this._inner.reverse(), this._period)
- },
- clone: function () {
- var a = new cc.EaseElasticOut;
- a.initWithAction(this._inner.clone(), this._period);
- return a
- }
- });
- cc.EaseElasticOut.create = function (a, b) {
- return new cc.EaseElasticOut(a, b)
- };
- cc._easeElasticOutObj = {
- easing: function (a) {
- return 0 === a || 1 === a ? a : Math.pow(2, -10 * a) * Math.sin((a - 0.075) * Math.PI * 2 / 0.3) + 1
- },
- reverse: function () {
- return cc._easeElasticInObj
- }
- };
- cc.easeElasticOut = function (a) {
- return a && 0.3 !== a ? {
- _period: a,
- easing: function (a) {
- return 0 === a || 1 === a ? a : Math.pow(2, -10 * a) * Math.sin((a - this._period / 4) * Math.PI * 2 / this._period) + 1
- },
- reverse: function () {
- return cc.easeElasticIn(this._period)
- }
- } : cc._easeElasticOutObj
- };
- cc.EaseElasticInOut = cc.EaseElastic.extend({
- update: function (a) {
- var b = 0,
- b = this._period;
- if (0 === a || 1 == a) b = a;
- else {
- b || (b = this._period = 0.3 * 1.5);
- var c = b / 4;
- a = 2 * a - 1;
- b = 0 > a ? -0.5 * Math.pow(2, 10 * a) * Math.sin((a - c) * Math.PI * 2 / b) : Math.pow(2, -10 * a) * Math.sin((a - c) * Math.PI * 2 / b) * 0.5 + 1
- }
- this._inner.update(b)
- },
- reverse: function () {
- return new cc.EaseElasticInOut(this._inner.reverse(), this._period)
- },
- clone: function () {
- var a = new cc.EaseElasticInOut;
- a.initWithAction(this._inner.clone(), this._period);
- return a
- }
- });
- cc.EaseElasticInOut.create = function (a, b) {
- return new cc.EaseElasticInOut(a, b)
- };
- cc.easeElasticInOut = function (a) {
- return {
- _period: a || 0.3,
- easing: function (a) {
- var c = 0,
- c = this._period;
- if (0 === a || 1 === a) c = a;
- else {
- c || (c = this._period = 0.3 * 1.5);
- var d = c / 4;
- a = 2 * a - 1;
- c = 0 > a ? -0.5 * Math.pow(2, 10 * a) * Math.sin((a - d) * Math.PI * 2 / c) : Math.pow(2, -10 * a) * Math.sin((a - d) * Math.PI * 2 / c) * 0.5 + 1
- }
- return c
- },
- reverse: function () {
- return cc.easeElasticInOut(this._period)
- }
- }
- };
- cc.EaseBounce = cc.ActionEase.extend({
- bounceTime: function (a) {
- if (a < 1 / 2.75) return 7.5625 * a * a;
- if (a < 2 / 2.75) return a -= 1.5 / 2.75,
- 7.5625 * a * a + 0.75;
- if (a < 2.5 / 2.75) return a -= 2.25 / 2.75,
- 7.5625 * a * a + 0.9375;
- a -= 2.625 / 2.75;
- return 7.5625 * a * a + 0.984375
- },
- clone: function () {
- var a = new cc.EaseBounce;
- a.initWithAction(this._inner.clone());
- return a
- },
- reverse: function () {
- return new cc.EaseBounce(this._inner.reverse())
- }
- });
- cc.EaseBounce.create = function (a) {
- return new cc.EaseBounce(a)
- };
- cc.EaseBounceIn = cc.EaseBounce.extend({
- update: function (a) {
- a = 1 - this.bounceTime(1 - a);
- this._inner.update(a)
- },
- reverse: function () {
- return new cc.EaseBounceOut(this._inner.reverse())
- },
- clone: function () {
- var a = new cc.EaseBounceIn;
- a.initWithAction(this._inner.clone());
- return a
- }
- });
- cc.EaseBounceIn.create = function (a) {
- return new cc.EaseBounceIn(a)
- };
- cc._bounceTime = function (a) {
- if (a < 1 / 2.75) return 7.5625 * a * a;
- if (a < 2 / 2.75) return a -= 1.5 / 2.75,
- 7.5625 * a * a + 0.75;
- if (a < 2.5 / 2.75) return a -= 2.25 / 2.75,
- 7.5625 * a * a + 0.9375;
- a -= 2.625 / 2.75;
- return 7.5625 * a * a + 0.984375
- };
- cc._easeBounceInObj = {
- easing: function (a) {
- return 1 - cc._bounceTime(1 - a)
- },
- reverse: function () {
- return cc._easeBounceOutObj
- }
- };
- cc.easeBounceIn = function () {
- return cc._easeBounceInObj
- };
- cc.EaseBounceOut = cc.EaseBounce.extend({
- update: function (a) {
- a = this.bounceTime(a);
- this._inner.update(a)
- },
- reverse: function () {
- return new cc.EaseBounceIn(this._inner.reverse())
- },
- clone: function () {
- var a = new cc.EaseBounceOut;
- a.initWithAction(this._inner.clone());
- return a
- }
- });
- cc.EaseBounceOut.create = function (a) {
- return new cc.EaseBounceOut(a)
- };
- cc._easeBounceOutObj = {
- easing: function (a) {
- return cc._bounceTime(a)
- },
- reverse: function () {
- return cc._easeBounceInObj
- }
- };
- cc.easeBounceOut = function () {
- return cc._easeBounceOutObj
- };
- cc.EaseBounceInOut = cc.EaseBounce.extend({
- update: function (a) {
- var b = 0,
- b = 0.5 > a ? 0.5 * (1 - this.bounceTime(1 - 2 * a)) : 0.5 * this.bounceTime(2 * a - 1) + 0.5;
- this._inner.update(b)
- },
- clone: function () {
- var a = new cc.EaseBounceInOut;
- a.initWithAction(this._inner.clone());
- return a
- },
- reverse: function () {
- return new cc.EaseBounceInOut(this._inner.reverse())
- }
- });
- cc.EaseBounceInOut.create = function (a) {
- return new cc.EaseBounceInOut(a)
- };
- cc._easeBounceInOutObj = {
- easing: function (a) {
- return a = 0.5 > a ? 0.5 * (1 - cc._bounceTime(1 - 2 * a)) : 0.5 * cc._bounceTime(2 * a - 1) + 0.5
- },
- reverse: function () {
- return cc._easeBounceInOutObj
- }
- };
- cc.easeBounceInOut = function () {
- return cc._easeBounceInOutObj
- };
- cc.EaseBackIn = cc.ActionEase.extend({
- update: function (a) {
- this._inner.update(0 === a || 1 == a ? a : a * a * (2.70158 * a - 1.70158))
- },
- reverse: function () {
- return new cc.EaseBackOut(this._inner.reverse())
- },
- clone: function () {
- var a = new cc.EaseBackIn;
- a.initWithAction(this._inner.clone());
- return a
- }
- });
- cc.EaseBackIn.create = function (a) {
- return new cc.EaseBackIn(a)
- };
- cc._easeBackInObj = {
- easing: function (a) {
- return 0 === a || 1 === a ? a : a * a * (2.70158 * a - 1.70158)
- },
- reverse: function () {
- return cc._easeBackOutObj
- }
- };
- cc.easeBackIn = function () {
- return cc._easeBackInObj
- };
- cc.EaseBackOut = cc.ActionEase.extend({
- update: function (a) {
- a -= 1;
- this._inner.update(a * a * (2.70158 * a + 1.70158) + 1)
- },
- reverse: function () {
- return new cc.EaseBackIn(this._inner.reverse())
- },
- clone: function () {
- var a = new cc.EaseBackOut;
- a.initWithAction(this._inner.clone());
- return a
- }
- });
- cc.EaseBackOut.create = function (a) {
- return new cc.EaseBackOut(a)
- };
- cc._easeBackOutObj = {
- easing: function (a) {
- a -= 1;
- return a * a * (2.70158 * a + 1.70158) + 1
- },
- reverse: function () {
- return cc._easeBackInObj
- }
- };
- cc.easeBackOut = function () {
- return cc._easeBackOutObj
- };
- cc.EaseBackInOut = cc.ActionEase.extend({
- update: function (a) {
- a *= 2;
- 1 > a ? this._inner.update(a * a * (3.5949095 * a - 2.5949095) / 2) : (a -= 2, this._inner.update(a * a * (3.5949095 * a + 2.5949095) / 2 + 1))
- },
- clone: function () {
- var a = new cc.EaseBackInOut;
- a.initWithAction(this._inner.clone());
- return a
- },
- reverse: function () {
- return new cc.EaseBackInOut(this._inner.reverse())
- }
- });
- cc.EaseBackInOut.create = function (a) {
- return new cc.EaseBackInOut(a)
- };
- cc._easeBackInOutObj = {
- easing: function (a) {
- a *= 2;
- if (1 > a) return a * a * (3.5949095 * a - 2.5949095) / 2;
- a -= 2;
- return a * a * (3.5949095 * a + 2.5949095) / 2 + 1
- },
- reverse: function () {
- return cc._easeBackInOutObj
- }
- };
- cc.easeBackInOut = function () {
- return cc._easeBackInOutObj
- };
- cc.EaseBezierAction = cc.ActionEase.extend({
- _p0: null,
- _p1: null,
- _p2: null,
- _p3: null,
- ctor: function (a) {
- cc.ActionEase.prototype.ctor.call(this, a)
- },
- _updateTime: function (a, b, c, d, e) {
- return Math.pow(1 - e, 3) * a + 3 * e * Math.pow(1 - e, 2) * b + 3 * Math.pow(e, 2) * (1 - e) * c + Math.pow(e, 3) * d
- },
- update: function (a) {
- a = this._updateTime(this._p0, this._p1, this._p2, this._p3, a);
- this._inner.update(a)
- },
- clone: function () {
- var a = new cc.EaseBezierAction;
- a.initWithAction(this._inner.clone());
- a.setBezierParamer(this._p0, this._p1, this._p2, this._p3);
- return a
- },
- reverse: function () {
- var a = new cc.EaseBezierAction(this._inner.reverse());
- a.setBezierParamer(this._p3, this._p2, this._p1, this._p0);
- return a
- },
- setBezierParamer: function (a, b, c, d) {
- this._p0 = a || 0;
- this._p1 = b || 0;
- this._p2 = c || 0;
- this._p3 = d || 0
- }
- });
- cc.EaseBezierAction.create = function (a) {
- return new cc.EaseBezierAction(a)
- };
- cc.easeBezierAction = function (a, b, c, d) {
- return {
- easing: function (e) {
- return cc.EaseBezierAction.prototype._updateTime(a, b, c, d, e)
- },
- reverse: function () {
- return cc.easeBezierAction(d, c, b, a)
- }
- }
- };
- cc.EaseQuadraticActionIn = cc.ActionEase.extend({
- _updateTime: function (a) {
- return Math.pow(a, 2)
- },
- update: function (a) {
- this._inner.update(this._updateTime(a))
- },
- clone: function () {
- var a = new cc.EaseQuadraticActionIn;
- a.initWithAction(this._inner.clone());
- return a
- },
- reverse: function () {
- return new cc.EaseQuadraticActionIn(this._inner.reverse())
- }
- });
- cc.EaseQuadraticActionIn.create = function (a) {
- return new cc.EaseQuadraticActionIn(a)
- };
- cc._easeQuadraticActionIn = {
- easing: cc.EaseQuadraticActionIn.prototype._updateTime,
- reverse: function () {
- return cc._easeQuadraticActionIn
- }
- };
- cc.easeQuadraticActionIn = function () {
- return cc._easeQuadraticActionIn
- };
- cc.EaseQuadraticActionOut = cc.ActionEase.extend({
- _updateTime: function (a) {
- return -a * (a - 2)
- },
- update: function (a) {
- this._inner.update(this._updateTime(a))
- },
- clone: function () {
- var a = new cc.EaseQuadraticActionOut;
- a.initWithAction();
- return a
- },
- reverse: function () {
- return new cc.EaseQuadraticActionOut(this._inner.reverse())
- }
- });
- cc.EaseQuadraticActionOut.create = function (a) {
- return new cc.EaseQuadraticActionOut(a)
- };
- cc._easeQuadraticActionOut = {
- easing: cc.EaseQuadraticActionOut.prototype._updateTime,
- reverse: function () {
- return cc._easeQuadraticActionOut
- }
- };
- cc.easeQuadraticActionOut = function () {
- return cc._easeQuadraticActionOut
- };
- cc.EaseQuadraticActionInOut = cc.ActionEase.extend({
- _updateTime: function (a) {
- var b = a;
- a *= 2;
- 1 > a ? b = a * a * 0.5 : (--a, b = -0.5 * (a * (a - 2) - 1));
- return b
- },
- update: function (a) {
- this._inner.update(this._updateTime(a))
- },
- clone: function () {
- var a = new cc.EaseQuadraticActionInOut;
- a.initWithAction(this._inner.clone());
- return a
- },
- reverse: function () {
- return new cc.EaseQuadraticActionInOut(this._inner.reverse())
- }
- });
- cc.EaseQuadraticActionInOut.create = function (a) {
- return new cc.EaseQuadraticActionInOut(a)
- };
- cc._easeQuadraticActionInOut = {
- easing: cc.EaseQuadraticActionInOut.prototype._updateTime,
- reverse: function () {
- return cc._easeQuadraticActionInOut
- }
- };
- cc.easeQuadraticActionInOut = function () {
- return cc._easeQuadraticActionInOut
- };
- cc.EaseQuarticActionIn = cc.ActionEase.extend({
- _updateTime: function (a) {
- return a * a * a * a
- },
- update: function (a) {
- this._inner.update(this._updateTime(a))
- },
- clone: function () {
- var a = new cc.EaseQuarticActionIn;
- a.initWithAction(this._inner.clone());
- return a
- },
- reverse: function () {
- return new cc.EaseQuarticActionIn(this._inner.reverse())
- }
- });
- cc.EaseQuarticActionIn.create = function (a) {
- return new cc.EaseQuarticActionIn(a)
- };
- cc._easeQuarticActionIn = {
- easing: cc.EaseQuarticActionIn.prototype._updateTime,
- reverse: function () {
- return cc._easeQuarticActionIn
- }
- };
- cc.easeQuarticActionIn = function () {
- return cc._easeQuarticActionIn
- };
- cc.EaseQuarticActionOut = cc.ActionEase.extend({
- _updateTime: function (a) {
- a -= 1;
- return -(a * a * a * a - 1)
- },
- update: function (a) {
- this._inner.update(this._updateTime(a))
- },
- clone: function () {
- var a = new cc.EaseQuarticActionOut;
- a.initWithAction(this._inner.clone());
- return a
- },
- reverse: function () {
- return new cc.EaseQuarticActionOut(this._inner.reverse())
- }
- });
- cc.EaseQuarticActionOut.create = function (a) {
- return new cc.EaseQuarticActionOut(a)
- };
- cc._easeQuarticActionOut = {
- easing: cc.EaseQuarticActionOut.prototype._updateTime,
- reverse: function () {
- return cc._easeQuarticActionOut
- }
- };
- cc.easeQuarticActionOut = function () {
- return cc._easeQuarticActionOut
- };
- cc.EaseQuarticActionInOut = cc.ActionEase.extend({
- _updateTime: function (a) {
- a *= 2;
- if (1 > a) return 0.5 * a * a * a * a;
- a -= 2;
- return -0.5 * (a * a * a * a - 2)
- },
- update: function (a) {
- this._inner.update(this._updateTime(a))
- },
- clone: function () {
- var a = new cc.EaseQuarticActionInOut;
- a.initWithAction(this._inner.clone());
- return a
- },
- reverse: function () {
- return new cc.EaseQuarticActionInOut(this._inner.reverse())
- }
- });
- cc.EaseQuarticActionInOut.create = function (a) {
- return new cc.EaseQuarticActionInOut(a)
- };
- cc._easeQuarticActionInOut = {
- easing: cc.EaseQuarticActionInOut.prototype._updateTime,
- reverse: function () {
- return cc._easeQuarticActionInOut
- }
- };
- cc.easeQuarticActionInOut = function () {
- return cc._easeQuarticActionInOut
- };
- cc.EaseQuinticActionIn = cc.ActionEase.extend({
- _updateTime: function (a) {
- return a * a * a * a * a
- },
- update: function (a) {
- this._inner.update(this._updateTime(a))
- },
- clone: function () {
- var a = new cc.EaseQuinticActionIn;
- a.initWithAction(this._inner.clone());
- return a
- },
- reverse: function () {
- return new cc.EaseQuinticActionIn(this._inner.reverse())
- }
- });
- cc.EaseQuinticActionIn.create = function (a) {
- return new cc.EaseQuinticActionIn(a)
- };
- cc._easeQuinticActionIn = {
- easing: cc.EaseQuinticActionIn.prototype._updateTime,
- reverse: function () {
- return cc._easeQuinticActionIn
- }
- };
- cc.easeQuinticActionIn = function () {
- return cc._easeQuinticActionIn
- };
- cc.EaseQuinticActionOut = cc.ActionEase.extend({
- _updateTime: function (a) {
- a -= 1;
- return a * a * a * a * a + 1
- },
- update: function (a) {
- this._inner.update(this._updateTime(a))
- },
- clone: function () {
- var a = new cc.EaseQuinticActionOut;
- a.initWithAction(this._inner.clone());
- return a
- },
- reverse: function () {
- return new cc.EaseQuinticActionOut(this._inner.reverse())
- }
- });
- cc.EaseQuinticActionOut.create = function (a) {
- return new cc.EaseQuinticActionOut(a)
- };
- cc._easeQuinticActionOut = {
- easing: cc.EaseQuinticActionOut.prototype._updateTime,
- reverse: function () {
- return cc._easeQuinticActionOut
- }
- };
- cc.easeQuinticActionOut = function () {
- return cc._easeQuinticActionOut
- };
- cc.EaseQuinticActionInOut = cc.ActionEase.extend({
- _updateTime: function (a) {
- a *= 2;
- if (1 > a) return 0.5 * a * a * a * a * a;
- a -= 2;
- return 0.5 * (a * a * a * a * a + 2)
- },
- update: function (a) {
- this._inner.update(this._updateTime(a))
- },
- clone: function () {
- var a = new cc.EaseQuinticActionInOut;
- a.initWithAction(this._inner.clone());
- return a
- },
- reverse: function () {
- return new cc.EaseQuinticActionInOut(this._inner.reverse())
- }
- });
- cc.EaseQuinticActionInOut.create = function (a) {
- return new cc.EaseQuinticActionInOut(a)
- };
- cc._easeQuinticActionInOut = {
- easing: cc.EaseQuinticActionInOut.prototype._updateTime,
- reverse: function () {
- return cc._easeQuinticActionInOut
- }
- };
- cc.easeQuinticActionInOut = function () {
- return cc._easeQuinticActionInOut
- };
- cc.EaseCircleActionIn = cc.ActionEase.extend({
- _updateTime: function (a) {
- return -1 * (Math.sqrt(1 - a * a) - 1)
- },
- update: function (a) {
- this._inner.update(this._updateTime(a))
- },
- clone: function () {
- var a = new cc.EaseCircleActionIn;
- a.initWithAction(this._inner.clone());
- return a
- },
- reverse: function () {
- return new cc.EaseCircleActionIn(this._inner.reverse())
- }
- });
- cc.EaseCircleActionIn.create = function (a) {
- return new cc.EaseCircleActionIn(a)
- };
- cc._easeCircleActionIn = {
- easing: cc.EaseCircleActionIn.prototype._updateTime,
- reverse: function () {
- return cc._easeCircleActionIn
- }
- };
- cc.easeCircleActionIn = function () {
- return cc._easeCircleActionIn
- };
- cc.EaseCircleActionOut = cc.ActionEase.extend({
- _updateTime: function (a) {
- a -= 1;
- return Math.sqrt(1 - a * a)
- },
- update: function (a) {
- this._inner.update(this._updateTime(a))
- },
- clone: function () {
- var a = new cc.EaseCircleActionOut;
- a.initWithAction(this._inner.clone());
- return a
- },
- reverse: function () {
- return new cc.EaseCircleActionOut(this._inner.reverse())
- }
- });
- cc.EaseCircleActionOut.create = function (a) {
- return new cc.EaseCircleActionOut(a)
- };
- cc._easeCircleActionOut = {
- easing: cc.EaseCircleActionOut.prototype._updateTime,
- reverse: function () {
- return cc._easeCircleActionOut
- }
- };
- cc.easeCircleActionOut = function () {
- return cc._easeCircleActionOut
- };
- cc.EaseCircleActionInOut = cc.ActionEase.extend({
- _updateTime: function (a) {
- a *= 2;
- if (1 > a) return -0.5 * (Math.sqrt(1 - a * a) - 1);
- a -= 2;
- return 0.5 * (Math.sqrt(1 - a * a) + 1)
- },
- update: function (a) {
- this._inner.update(this._updateTime(a))
- },
- clone: function () {
- var a = new cc.EaseCircleActionInOut;
- a.initWithAction(this._inner.clone());
- return a
- },
- reverse: function () {
- return new cc.EaseCircleActionInOut(this._inner.reverse())
- }
- });
- cc.EaseCircleActionInOut.create = function (a) {
- return new cc.EaseCircleActionInOut(a)
- };
- cc._easeCircleActionInOut = {
- easing: cc.EaseCircleActionInOut.prototype._updateTime,
- reverse: function () {
- return cc._easeCircleActionInOut
- }
- };
- cc.easeCircleActionInOut = function () {
- return cc._easeCircleActionInOut
- };
- cc.EaseCubicActionIn = cc.ActionEase.extend({
- _updateTime: function (a) {
- return a * a * a
- },
- update: function (a) {
- this._inner.update(this._updateTime(a))
- },
- clone: function () {
- var a = new cc.EaseCubicActionIn;
- a.initWithAction(this._inner.clone());
- return a
- },
- reverse: function () {
- return new cc.EaseCubicActionIn(this._inner.reverse())
- }
- });
- cc.EaseCubicActionIn.create = function (a) {
- return new cc.EaseCubicActionIn(a)
- };
- cc._easeCubicActionIn = {
- easing: cc.EaseCubicActionIn.prototype._updateTime,
- reverse: function () {
- return cc._easeCubicActionIn
- }
- };
- cc.easeCubicActionIn = function () {
- return cc._easeCubicActionIn
- };
- cc.EaseCubicActionOut = cc.ActionEase.extend({
- _updateTime: function (a) {
- a -= 1;
- return a * a * a + 1
- },
- update: function (a) {
- this._inner.update(this._updateTime(a))
- },
- clone: function () {
- var a = new cc.EaseCubicActionOut;
- a.initWithAction(this._inner.clone());
- return a
- },
- reverse: function () {
- return new cc.EaseCubicActionOut(this._inner.reverse())
- }
- });
- cc.EaseCubicActionOut.create = function (a) {
- return new cc.EaseCubicActionOut(a)
- };
- cc._easeCubicActionOut = {
- easing: cc.EaseCubicActionOut.prototype._updateTime,
- reverse: function () {
- return cc._easeCubicActionOut
- }
- };
- cc.easeCubicActionOut = function () {
- return cc._easeCubicActionOut
- };
- cc.EaseCubicActionInOut = cc.ActionEase.extend({
- _updateTime: function (a) {
- a *= 2;
- if (1 > a) return 0.5 * a * a * a;
- a -= 2;
- return 0.5 * (a * a * a + 2)
- },
- update: function (a) {
- this._inner.update(this._updateTime(a))
- },
- clone: function () {
- var a = new cc.EaseCubicActionInOut;
- a.initWithAction(this._inner.clone());
- return a
- },
- reverse: function () {
- return new cc.EaseCubicActionInOut(this._inner.reverse())
- }
- });
- cc.EaseCubicActionInOut.create = function (a) {
- return new cc.EaseCubicActionInOut(a)
- };
- cc._easeCubicActionInOut = {
- easing: cc.EaseCubicActionInOut.prototype._updateTime,
- reverse: function () {
- return cc._easeCubicActionInOut
- }
- };
- cc.easeCubicActionInOut = function () {
- return cc._easeCubicActionInOut
- };
- cc.cardinalSplineAt = function (a, b, c, d, e, f) {
- var g = f * f,
- h = g * f,
- k = (1 - e) / 2;
- e = k * (-h + 2 * g - f);
- var m = k * (-h + g) + (2 * h - 3 * g + 1);
- f = k * (h - 2 * g + f) + (-2 * h + 3 * g);
- g = k * (h - g);
- return cc.p(a.x * e + b.x * m + c.x * f + d.x * g, a.y * e + b.y * m + c.y * f + d.y * g)
- };
- cc.reverseControlPoints = function (a) {
- for (var b = [], c = a.length - 1; 0 <= c; c--) b.push(cc.p(a[c].x, a[c].y));
- return b
- };
- cc.cloneControlPoints = function (a) {
- for (var b = [], c = 0; c < a.length; c++) b.push(cc.p(a[c].x, a[c].y));
- return b
- };
- cc.copyControlPoints = cc.cloneControlPoints;
- cc.getControlPointAt = function (a, b) {
- var c = Math.min(a.length - 1, Math.max(b, 0));
- return a[c]
- };
- cc.reverseControlPointsInline = function (a) {
- for (var b = a.length, c = 0 | b / 2, d = 0; d < c; ++d) {
- var e = a[d];
- a[d] = a[b - d - 1];
- a[b - d - 1] = e
- }
- };
- cc.CardinalSplineTo = cc.ActionInterval.extend({
- _points: null,
- _deltaT: 0,
- _tension: 0,
- _previousPosition: null,
- _accumulatedDiff: null,
- ctor: function (a, b, c) {
- cc.ActionInterval.prototype.ctor.call(this);
- this._points = [];
- void 0 !== c && this.initWithDuration(a, b, c)
- },
- initWithDuration: function (a, b, c) {
- if (!b || 0 == b.length) throw "Invalid configuration. It must at least have one control point";
- return cc.ActionInterval.prototype.initWithDuration.call(this, a) ? (this.setPoints(b), this._tension = c, !0) : !1
- },
- clone: function () {
- var a = new cc.CardinalSplineTo;
- a.initWithDuration(this._duration, cc.copyControlPoints(this._points), this._tension);
- return a
- },
- startWithTarget: function (a) {
- cc.ActionInterval.prototype.startWithTarget.call(this, a);
- this._deltaT = 1 / (this._points.length - 1);
- this._previousPosition = cc.p(this.target.getPositionX(), this.target.getPositionY());
- this._accumulatedDiff = cc.p(0, 0)
- },
- update: function (a) {
- a = this._computeEaseTime(a);
- var b,
- c = this._points;
- if (1 == a) b = c.length - 1,
- a = 1;
- else {
- var d = this._deltaT;
- b = 0 | a / d;
- a = (a - d * b) / d
- }
- b = cc.cardinalSplineAt(cc.getControlPointAt(c, b - 1), cc.getControlPointAt(c, b - 0), cc.getControlPointAt(c, b + 1), cc.getControlPointAt(c, b + 2), this._tension, a);
- cc.ENABLE_STACKABLE_ACTIONS && (c = this.target.getPositionX() - this._previousPosition.x, a = this.target.getPositionY() - this._previousPosition.y, 0 != c || 0 != a) && (d = this._accumulatedDiff, c = d.x + c, a = d.y + a, d.x = c, d.y = a, b.x += c, b.y += a);
- this.updatePosition(b)
- },
- reverse: function () {
- var a = cc.reverseControlPoints(this._points);
- return cc.cardinalSplineTo(this._duration, a, this._tension)
- },
- updatePosition: function (a) {
- this.target.setPosition(a);
- this._previousPosition = a
- },
- getPoints: function () {
- return this._points
- },
- setPoints: function (a) {
- this._points = a
- }
- });
- cc.cardinalSplineTo = function (a, b, c) {
- return new cc.CardinalSplineTo(a, b, c)
- };
- cc.CardinalSplineTo.create = cc.cardinalSplineTo;
- cc.CardinalSplineBy = cc.CardinalSplineTo.extend({
- _startPosition: null,
- ctor: function (a, b, c) {
- cc.CardinalSplineTo.prototype.ctor.call(this);
- this._startPosition = cc.p(0, 0);
- void 0 !== c && this.initWithDuration(a, b, c)
- },
- startWithTarget: function (a) {
- cc.CardinalSplineTo.prototype.startWithTarget.call(this, a);
- this._startPosition.x = a.getPositionX();
- this._startPosition.y = a.getPositionY()
- },
- reverse: function () {
- for (var a = this._points.slice(), b, c = a[0], d = 1; d < a.length; ++d) b = a[d],
- a[d] = cc.pSub(b, c),
- c = b;
- a = cc.reverseControlPoints(a);
- c = a[a.length - 1];
- a.pop();
- c.x = -c.x;
- c.y = -c.y;
- a.unshift(c);
- for (d = 1; d < a.length; ++d) b = a[d],
- b.x = -b.x,
- b.y = -b.y,
- b.x += c.x,
- b.y += c.y,
- c = a[d] = b;
- return cc.cardinalSplineBy(this._duration, a, this._tension)
- },
- updatePosition: function (a) {
- var b = this._startPosition,
- c = a.x + b.x;
- a = a.y + b.y;
- this._previousPosition.x = c;
- this._previousPosition.y = a;
- this.target.setPosition(c, a)
- },
- clone: function () {
- var a = new cc.CardinalSplineBy;
- a.initWithDuration(this._duration, cc.copyControlPoints(this._points), this._tension);
- return a
- }
- });
- cc.cardinalSplineBy = function (a, b, c) {
- return new cc.CardinalSplineBy(a, b, c)
- };
- cc.CardinalSplineBy.create = cc.cardinalSplineBy;
- cc.CatmullRomTo = cc.CardinalSplineTo.extend({
- ctor: function (a, b) {
- b && this.initWithDuration(a, b)
- },
- initWithDuration: function (a, b) {
- return cc.CardinalSplineTo.prototype.initWithDuration.call(this, a, b, 0.5)
- },
- clone: function () {
- var a = new cc.CatmullRomTo;
- a.initWithDuration(this._duration, cc.copyControlPoints(this._points));
- return a
- }
- });
- cc.catmullRomTo = function (a, b) {
- return new cc.CatmullRomTo(a, b)
- };
- cc.CatmullRomTo.create = cc.catmullRomTo;
- cc.CatmullRomBy = cc.CardinalSplineBy.extend({
- ctor: function (a, b) {
- cc.CardinalSplineBy.prototype.ctor.call(this);
- b && this.initWithDuration(a, b)
- },
- initWithDuration: function (a, b) {
- return cc.CardinalSplineTo.prototype.initWithDuration.call(this, a, b, 0.5)
- },
- clone: function () {
- var a = new cc.CatmullRomBy;
- a.initWithDuration(this._duration, cc.copyControlPoints(this._points));
- return a
- }
- });
- cc.catmullRomBy = function (a, b) {
- return new cc.CatmullRomBy(a, b)
- };
- cc.CatmullRomBy.create = cc.catmullRomBy;
- cc.ActionTweenDelegate = cc.Class.extend({
- updateTweenAction: function (a, b) { }
- });
- cc.ActionTween = cc.ActionInterval.extend({
- key: "",
- from: 0,
- to: 0,
- delta: 0,
- ctor: function (a, b, c, d) {
- cc.ActionInterval.prototype.ctor.call(this);
- this.key = "";
- void 0 !== d && this.initWithDuration(a, b, c, d)
- },
- initWithDuration: function (a, b, c, d) {
- return cc.ActionInterval.prototype.initWithDuration.call(this, a) ? (this.key = b, this.to = d, this.from = c, !0) : !1
- },
- startWithTarget: function (a) {
- if (!a || !a.updateTweenAction) throw "cc.ActionTween.startWithTarget(): target must be non-null, and target must implement updateTweenAction function";
- cc.ActionInterval.prototype.startWithTarget.call(this, a);
- this.delta = this.to - this.from
- },
- update: function (a) {
- this.target.updateTweenAction(this.to - this.delta * (1 - a), this.key)
- },
- reverse: function () {
- return new cc.ActionTween(this.duration, this.key, this.to, this.from)
- },
- clone: function () {
- var a = new cc.ActionTween;
- a.initWithDuration(this._duration, this.key, this.from, this.to);
- return a
- }
- });
- cc.actionTween = function (a, b, c, d) {
- return new cc.ActionTween(a, b, c, d)
- };
- cc.ActionTween.create = cc.actionTween;
- cc._globalFontSize = cc.ITEM_SIZE;
- cc._globalFontName = "Arial";
- cc._globalFontNameRelease = !1;
- cc.MenuItem = cc.Node.extend({
- _enabled: !1,
- _target: null,
- _callback: null,
- _isSelected: !1,
- _className: "MenuItem",
- ctor: function (a, b) {
- var c = cc.Node.prototype;
- c.ctor.call(this);
- this._callback = this._target = null;
- this._enabled = this._isSelected = !1;
- c.setAnchorPoint.call(this, 0.5, 0.5);
- this._target = b || null;
- if (this._callback = a || null) this._enabled = !0
- },
- isSelected: function () {
- return this._isSelected
- },
- setOpacityModifyRGB: function (a) { },
- isOpacityModifyRGB: function () {
- return !1
- },
- setTarget: function (a, b) {
- this._target = b;
- this._callback = a
- },
- isEnabled: function () {
- return this._enabled
- },
- setEnabled: function (a) {
- this._enabled = a
- },
- initWithCallback: function (a, b) {
- this.anchorY = this.anchorX = 0.5;
- this._target = b;
- this._callback = a;
- this._enabled = !0;
- this._isSelected = !1;
- return !0
- },
- rect: function () {
- var a = this._position,
- b = this._contentSize,
- c = this._anchorPoint;
- return cc.rect(a.x - b.width * c.x, a.y - b.height * c.y, b.width, b.height)
- },
- selected: function () {
- this._isSelected = !0
- },
- unselected: function () {
- this._isSelected = !1
- },
- setCallback: function (a, b) {
- this._target = b;
- this._callback = a
- },
- activate: function () {
- if (this._enabled) {
- var a = this._target,
- b = this._callback;
- if (b) if (a && cc.isString(b)) a[b](this);
- else a && cc.isFunction(b) ? b.call(a, this) : b(this)
- }
- }
- });
- _p = cc.MenuItem.prototype;
- cc.defineGetterSetter(_p, "enabled", _p.isEnabled, _p.setEnabled);
- cc.MenuItem.create = function (a, b) {
- return new cc.MenuItem(a, b)
- };
- cc.MenuItemLabel = cc.MenuItem.extend({
- _disabledColor: null,
- _label: null,
- _orginalScale: 0,
- _colorBackup: null,
- ctor: function (a, b, c) {
- cc.MenuItem.prototype.ctor.call(this, b, c);
- this._label = this._disabledColor = null;
- this._orginalScale = 0;
- this._colorBackup = null;
- a && (this._originalScale = 1, this._colorBackup = cc.color.WHITE, this._disabledColor = cc.color(126, 126, 126), this.setLabel(a), this.cascadeOpacity = this.cascadeColor = !0)
- },
- getDisabledColor: function () {
- return this._disabledColor
- },
- setDisabledColor: function (a) {
- this._disabledColor = a
- },
- getLabel: function () {
- return this._label
- },
- setLabel: function (a) {
- a && (this.addChild(a), a.anchorX = 0, a.anchorY = 0, this.width = a.width, this.height = a.height);
- this._label && this.removeChild(this._label, !0);
- this._label = a
- },
- setEnabled: function (a) {
- if (this._enabled != a) {
- var b = this._label;
- a ? b.color = this._colorBackup : (this._colorBackup = b.color, b.color = this._disabledColor)
- }
- cc.MenuItem.prototype.setEnabled.call(this, a)
- },
- setOpacity: function (a) {
- this._label.opacity = a
- },
- getOpacity: function () {
- return this._label.opacity
- },
- setColor: function (a) {
- this._label.color = a
- },
- getColor: function () {
- return this._label.color
- },
- initWithLabel: function (a, b, c) {
- this.initWithCallback(b, c);
- this._originalScale = 1;
- this._colorBackup = cc.color.WHITE;
- this._disabledColor = cc.color(126, 126, 126);
- this.setLabel(a);
- return this.cascadeOpacity = this.cascadeColor = !0
- },
- setString: function (a) {
- this._label.string = a;
- this.width = this._label.width;
- this.height = this._label.height
- },
- getString: function () {
- return this._label.string
- },
- activate: function () {
- this._enabled && (this.stopAllActions(), this.scale = this._originalScale, cc.MenuItem.prototype.activate.call(this))
- },
- selected: function () {
- if (this._enabled) {
- cc.MenuItem.prototype.selected.call(this);
- var a = this.getActionByTag(cc.ZOOM_ACTION_TAG);
- a ? this.stopAction(a) : this._originalScale = this.scale;
- a = cc.ScaleTo.create(0.1, 1.2 * this._originalScale);
- a.setTag(cc.ZOOM_ACTION_TAG);
- this.runAction(a)
- }
- },
- unselected: function () {
- if (this._enabled) {
- cc.MenuItem.prototype.unselected.call(this);
- this.stopActionByTag(cc.ZOOM_ACTION_TAG);
- var a = cc.ScaleTo.create(0.1, this._originalScale);
- a.setTag(cc.ZOOM_ACTION_TAG);
- this.runAction(a)
- }
- }
- });
- _p = cc.MenuItemLabel.prototype;
- cc.defineGetterSetter(_p, "string", _p.getString, _p.setString);
- cc.defineGetterSetter(_p, "disabledColor", _p.getDisabledColor, _p.setDisabledColor);
- cc.defineGetterSetter(_p, "label", _p.getLabel, _p.setLabel);
- cc.MenuItemLabel.create = function (a, b, c) {
- return new cc.MenuItemLabel(a, b, c)
- };
- cc.MenuItemAtlasFont = cc.MenuItemLabel.extend({
- ctor: function (a, b, c, d, e, f, g) {
- var h;
- a && 0 < a.length && (h = cc.LabelAtlas.create(a, b, c, d, e));
- cc.MenuItemLabel.prototype.ctor.call(this, h, f, g)
- },
- initWithString: function (a, b, c, d, e, f, g) {
- if (!a || 0 == a.length) throw "cc.MenuItemAtlasFont.initWithString(): value should be non-null and its length should be greater than 0";
- var h = new cc.LabelAtlas;
- h.initWithString(a, b, c, d, e);
- this.initWithLabel(h, f, g);
- return !0
- }
- });
- cc.MenuItemAtlasFont.create = function (a, b, c, d, e, f, g) {
- return new cc.MenuItemAtlasFont(a, b, c, d, e, f, g)
- };
- cc.MenuItemFont = cc.MenuItemLabel.extend({
- _fontSize: null,
- _fontName: null,
- ctor: function (a, b, c) {
- var d;
- a && 0 < a.length ? (this._fontName = cc._globalFontName, this._fontSize = cc._globalFontSize, d = cc.LabelTTF.create(a, this._fontName, this._fontSize)) : (this._fontSize = 0, this._fontName = "");
- cc.MenuItemLabel.prototype.ctor.call(this, d, b, c)
- },
- initWithString: function (a, b, c) {
- if (!a || 0 == a.length) throw "Value should be non-null and its length should be greater than 0";
- this._fontName = cc._globalFontName;
- this._fontSize = cc._globalFontSize;
- a = cc.LabelTTF.create(a, this._fontName, this._fontSize);
- this.initWithLabel(a, b, c);
- return !0
- },
- setFontSize: function (a) {
- this._fontSize = a;
- this._recreateLabel()
- },
- getFontSize: function () {
- return this._fontSize
- },
- setFontName: function (a) {
- this._fontName = a;
- this._recreateLabel()
- },
- getFontName: function () {
- return this._fontName
- },
- _recreateLabel: function () {
- var a = cc.LabelTTF.create(this._label.string, this._fontName, this._fontSize);
- this.setLabel(a)
- }
- });
- cc.MenuItemFont.setFontSize = function (a) {
- cc._globalFontSize = a
- };
- cc.MenuItemFont.fontSize = function () {
- return cc._globalFontSize
- };
- cc.MenuItemFont.setFontName = function (a) {
- cc._globalFontNameRelease && (cc._globalFontName = "");
- cc._globalFontName = a;
- cc._globalFontNameRelease = !0
- };
- _p = cc.MenuItemFont.prototype;
- cc.defineGetterSetter(_p, "fontSize", _p.getFontSize, _p.setFontSize);
- cc.defineGetterSetter(_p, "fontName", _p.getFontName, _p.setFontName);
- cc.MenuItemFont.fontName = function () {
- return cc._globalFontName
- };
- cc.MenuItemFont.create = function (a, b, c) {
- return new cc.MenuItemFont(a, b, c)
- };
- cc.MenuItemSprite = cc.MenuItem.extend({
- _normalImage: null,
- _selectedImage: null,
- _disabledImage: null,
- ctor: function (a, b, c, d, e) {
- cc.MenuItem.prototype.ctor.call(this);
- this._disabledImage = this._selectedImage = this._normalImage = null;
- if (void 0 !== b) {
- var f,
- g,
- h;
- void 0 !== e ? (f = c, h = d, g = e) : void 0 !== d && cc.isFunction(d) ? (f = c, h = d) : void 0 !== d && cc.isFunction(c) ? (g = d, h = c, f = cc.Sprite.create(b)) : void 0 === c && (f = cc.Sprite.create(b));
- this.initWithNormalSprite(a, b, f, h, g)
- }
- },
- getNormalImage: function () {
- return this._normalImage
- },
- setNormalImage: function (a) {
- this._normalImage != a && (a && (this.addChild(a, 0, cc.NORMAL_TAG), a.anchorX = 0, a.anchorY = 0), this._normalImage && this.removeChild(this._normalImage, !0), this._normalImage = a, this.width = this._normalImage.width, this.height = this._normalImage.height, this._updateImagesVisibility(), a.textureLoaded && !a.textureLoaded() && a.addLoadedEventListener(function (a) {
- this.width = a.width;
- this.height = a.height
- },
- this))
- },
- getSelectedImage: function () {
- return this._selectedImage
- },
- setSelectedImage: function (a) {
- this._selectedImage != a && (a && (this.addChild(a, 0, cc.SELECTED_TAG), a.anchorX = 0, a.anchorY = 0), this._selectedImage && this.removeChild(this._selectedImage, !0), this._selectedImage = a, this._updateImagesVisibility())
- },
- getDisabledImage: function () {
- return this._disabledImage
- },
- setDisabledImage: function (a) {
- this._disabledImage != a && (a && (this.addChild(a, 0, cc.DISABLE_TAG), a.anchorX = 0, a.anchorY = 0), this._disabledImage && this.removeChild(this._disabledImage, !0), this._disabledImage = a, this._updateImagesVisibility())
- },
- initWithNormalSprite: function (a, b, c, d, e) {
- this.initWithCallback(d, e);
- this.setNormalImage(a);
- this.setSelectedImage(b);
- this.setDisabledImage(c);
- if (a = this._normalImage) this.width = a.width,
- this.height = a.height,
- a.textureLoaded && !a.textureLoaded() && a.addLoadedEventListener(function (a) {
- this.width = a.width;
- this.height = a.height;
- this.cascadeOpacity = this.cascadeColor = !0
- },
- this);
- return this.cascadeOpacity = this.cascadeColor = !0
- },
- setColor: function (a) {
- this._normalImage.color = a;
- this._selectedImage && (this._selectedImage.color = a);
- this._disabledImage && (this._disabledImage.color = a)
- },
- getColor: function () {
- return this._normalImage.color
- },
- setOpacity: function (a) {
- this._normalImage.opacity = a;
- this._selectedImage && (this._selectedImage.opacity = a);
- this._disabledImage && (this._disabledImage.opacity = a)
- },
- getOpacity: function () {
- return this._normalImage.opacity
- },
- selected: function () {
- cc.MenuItem.prototype.selected.call(this);
- this._normalImage && (this._disabledImage && (this._disabledImage.visible = !1), this._selectedImage ? (this._normalImage.visible = !1, this._selectedImage.visible = !0) : this._normalImage.visible = !0)
- },
- unselected: function () {
- cc.MenuItem.prototype.unselected.call(this);
- this._normalImage && (this._normalImage.visible = !0, this._selectedImage && (this._selectedImage.visible = !1), this._disabledImage && (this._disabledImage.visible = !1))
- },
- setEnabled: function (a) {
- this._enabled != a && (cc.MenuItem.prototype.setEnabled.call(this, a), this._updateImagesVisibility())
- },
- _updateImagesVisibility: function () {
- var a = this._normalImage,
- b = this._selectedImage,
- c = this._disabledImage;
- this._enabled ? (a && (a.visible = !0), b && (b.visible = !1), c && (c.visible = !1)) : c ? (a && (a.visible = !1), b && (b.visible = !1), c && (c.visible = !0)) : (a && (a.visible = !0), b && (b.visible = !1))
- }
- });
- _p = cc.MenuItemSprite.prototype;
- cc.defineGetterSetter(_p, "normalImage", _p.getNormalImage, _p.setNormalImage);
- cc.defineGetterSetter(_p, "selectedImage", _p.getSelectedImage, _p.setSelectedImage);
- cc.defineGetterSetter(_p, "disabledImage", _p.getDisabledImage, _p.setDisabledImage);
- cc.MenuItemSprite.create = function (a, b, c, d, e) {
- return new cc.MenuItemSprite(a, b, c, d, e || void 0)
- };
- cc.MenuItemImage = cc.MenuItemSprite.extend({
- ctor: function (a, b, c, d, e) {
- var f = null,
- g = null,
- h = null,
- k = null,
- m = null;
- void 0 === a ? cc.MenuItemSprite.prototype.ctor.call(this) : (f = cc.Sprite.create(a), b && (g = cc.Sprite.create(b)), void 0 === d ? k = c : void 0 === e ? (k = c, m = d) : e && (h = cc.Sprite.create(c), k = d, m = e), cc.MenuItemSprite.prototype.ctor.call(this, f, g, h, k, m))
- },
- setNormalSpriteFrame: function (a) {
- this.setNormalImage(cc.Sprite.create(a))
- },
- setSelectedSpriteFrame: function (a) {
- this.setSelectedImage(cc.Sprite.create(a))
- },
- setDisabledSpriteFrame: function (a) {
- this.setDisabledImage(cc.Sprite.create(a))
- },
- initWithNormalImage: function (a, b, c, d, e) {
- var f = null,
- g = null,
- h = null;
- a && (f = cc.Sprite.create(a));
- b && (g = cc.Sprite.create(b));
- c && (h = cc.Sprite.create(c));
- return this.initWithNormalSprite(f, g, h, d, e)
- }
- });
- cc.MenuItemImage.create = function (a, b, c, d, e) {
- return new cc.MenuItemImage(a, b, c, d, e)
- };
- cc.MenuItemToggle = cc.MenuItem.extend({
- subItems: null,
- _selectedIndex: 0,
- _opacity: null,
- _color: null,
- ctor: function () {
- cc.MenuItem.prototype.ctor.call(this);
- this._selectedIndex = 0;
- this.subItems = [];
- this._opacity = 0;
- this._color = cc.color.WHITE;
- 0 < arguments.length && this.initWithItems(Array.prototype.slice.apply(arguments))
- },
- getOpacity: function () {
- return this._opacity
- },
- setOpacity: function (a) {
- this._opacity = a;
- if (this.subItems && 0 < this.subItems.length) for (var b = 0; b < this.subItems.length; b++) this.subItems[b].opacity = a;
- this._color.a = a
- },
- getColor: function () {
- var a = this._color;
- return cc.color(a.r, a.g, a.b, a.a)
- },
- setColor: function (a) {
- var b = this._color;
- b.r = a.r;
- b.g = a.g;
- b.b = a.b;
- if (this.subItems && 0 < this.subItems.length) for (b = 0; b < this.subItems.length; b++) this.subItems[b].setColor(a);
- void 0 === a.a || a.a_undefined || this.setOpacity(a.a)
- },
- getSelectedIndex: function () {
- return this._selectedIndex
- },
- setSelectedIndex: function (a) {
- if (a != this._selectedIndex) {
- this._selectedIndex = a; (a = this.getChildByTag(cc.CURRENT_ITEM)) && a.removeFromParent(!1);
- a = this.subItems[this._selectedIndex];
- this.addChild(a, 0, cc.CURRENT_ITEM);
- var b = a.width,
- c = a.height;
- this.width = b;
- this.height = c;
- a.setPosition(b / 2, c / 2)
- }
- },
- getSubItems: function () {
- return this.subItems
- },
- setSubItems: function (a) {
- this.subItems = a
- },
- initWithItems: function (a) {
- var b = a.length;
- cc.isFunction(a[a.length - 2]) ? (this.initWithCallback(a[a.length - 2], a[a.length - 1]), b -= 2) : cc.isFunction(a[a.length - 1]) ? (this.initWithCallback(a[a.length - 1], null), b -= 1) : this.initWithCallback(null, null);
- for (var c = this.subItems, d = c.length = 0; d < b; d++) a[d] && c.push(a[d]);
- this._selectedIndex = cc.UINT_MAX;
- this.setSelectedIndex(0);
- return this.cascadeOpacity = this.cascadeColor = !0
- },
- addSubItem: function (a) {
- this.subItems.push(a)
- },
- activate: function () {
- this._enabled && this.setSelectedIndex((this._selectedIndex + 1) % this.subItems.length);
- cc.MenuItem.prototype.activate.call(this)
- },
- selected: function () {
- cc.MenuItem.prototype.selected.call(this);
- this.subItems[this._selectedIndex].selected()
- },
- unselected: function () {
- cc.MenuItem.prototype.unselected.call(this);
- this.subItems[this._selectedIndex].unselected()
- },
- setEnabled: function (a) {
- if (this._enabled != a) {
- cc.MenuItem.prototype.setEnabled.call(this, a);
- var b = this.subItems;
- if (b && 0 < b.length) for (var c = 0; c < b.length; c++) b[c].enabled = a
- }
- },
- selectedItem: function () {
- return this.subItems[this._selectedIndex]
- },
- onEnter: function () {
- cc.Node.prototype.onEnter.call(this);
- this.setSelectedIndex(this._selectedIndex)
- }
- });
- _p = cc.MenuItemToggle.prototype;
- cc.defineGetterSetter(_p, "selectedIndex", _p.getSelectedIndex, _p.setSelectedIndex);
- cc.MenuItemToggle.create = function () {
- 0 < arguments.length && null == arguments[arguments.length - 1] && cc.log("parameters should not be ending with null in Javascript");
- var a = new cc.MenuItemToggle;
- a.initWithItems(Array.prototype.slice.apply(arguments));
- return a
- };
- cc.MENU_STATE_WAITING = 0;
- cc.MENU_STATE_TRACKING_TOUCH = 1;
- cc.MENU_HANDLER_PRIORITY = -128;
- cc.DEFAULT_PADDING = 5;
- cc.Menu = cc.Layer.extend({
- enabled: !1,
- _selectedItem: null,
- _state: -1,
- _touchListener: null,
- _className: "Menu",
- ctor: function (a) {
- cc.Layer.prototype.ctor.call(this);
- this._color = cc.color.WHITE;
- this.enabled = !1;
- this._opacity = 255;
- this._selectedItem = null;
- this._state = -1;
- this._touchListener = cc.EventListener.create({
- event: cc.EventListener.TOUCH_ONE_BY_ONE,
- swallowTouches: !0,
- onTouchBegan: this._onTouchBegan,
- onTouchMoved: this._onTouchMoved,
- onTouchEnded: this._onTouchEnded,
- onTouchCancelled: this._onTouchCancelled
- });
- 0 < arguments.length && null == arguments[arguments.length - 1] && cc.log("parameters should not be ending with null in Javascript");
- var b = arguments.length,
- c;
- if (0 == b) c = [];
- else if (1 == b) c = a instanceof Array ? a : [a];
- else if (1 < b) {
- c = [];
- for (var d = 0; d < b; d++) arguments[d] && c.push(arguments[d])
- }
- this.initWithArray(c)
- },
- onEnter: function () {
- var a = this._touchListener;
- a._isRegistered() || cc.eventManager.addListener(a, this);
- cc.Node.prototype.onEnter.call(this)
- },
- isEnabled: function () {
- return this.enabled
- },
- setEnabled: function (a) {
- this.enabled = a
- },
- initWithItems: function (a) {
- var b = [];
- if (a) for (var c = 0; c < a.length; c++) a[c] && b.push(a[c]);
- return this.initWithArray(b)
- },
- initWithArray: function (a) {
- if (cc.Layer.prototype.init.call(this)) {
- this.enabled = !0;
- var b = cc.winSize;
- this.setPosition(b.width / 2, b.height / 2);
- this.setContentSize(b);
- this.setAnchorPoint(0.5, 0.5);
- this.ignoreAnchorPointForPosition(!0);
- if (a) for (b = 0; b < a.length; b++) this.addChild(a[b], b);
- this._selectedItem = null;
- this._state = cc.MENU_STATE_WAITING;
- return this.cascadeOpacity = this.cascadeColor = !0
- }
- return !1
- },
- addChild: function (a, b, c) {
- if (!(a instanceof
- cc.MenuItem)) throw "cc.Menu.addChild() : Menu only supports MenuItem objects as children";
- cc.Layer.prototype.addChild.call(this, a, b, c)
- },
- alignItemsVertically: function () {
- this.alignItemsVerticallyWithPadding(cc.DEFAULT_PADDING)
- },
- alignItemsVerticallyWithPadding: function (a) {
- var b = -a,
- c = this._children,
- d,
- e,
- f,
- g;
- if (c && 0 < c.length) {
- e = 0;
- for (d = c.length; e < d; e++) b += c[e].height * c[e].scaleY + a;
- var h = b / 2;
- e = 0;
- for (d = c.length; e < d; e++) g = c[e],
- f = g.height,
- b = g.scaleY,
- g.setPosition(0, h - f * b / 2),
- h -= f * b + a
- }
- },
- alignItemsHorizontally: function () {
- this.alignItemsHorizontallyWithPadding(cc.DEFAULT_PADDING)
- },
- alignItemsHorizontallyWithPadding: function (a) {
- var b = -a,
- c = this._children,
- d,
- e,
- f,
- g;
- if (c && 0 < c.length) {
- d = 0;
- for (e = c.length; d < e; d++) b += c[d].width * c[d].scaleX + a;
- var h = -b / 2;
- d = 0;
- for (e = c.length; d < e; d++) g = c[d],
- b = g.scaleX,
- f = c[d].width,
- g.setPosition(h + f * b / 2, 0),
- h += f * b + a
- }
- },
- alignItemsInColumns: function () {
- 0 < arguments.length && null == arguments[arguments.length - 1] && cc.log("parameters should not be ending with null in Javascript");
- for (var a = [], b = 0; b < arguments.length; b++) a.push(arguments[b]);
- var c = -5,
- d = 0,
- e = 0,
- f = 0,
- g,
- h,
- k,
- m = this._children;
- if (m && 0 < m.length) for (b = 0, k = m.length; b < k; b++) d >= a.length || !(g = a[d]) || (h = m[b].height, e = e >= h || isNaN(h) ? e : h, ++f, f >= g && (c += e + 5, e = f = 0, ++d));
- var n = cc.director.getWinSize(),
- q = g = e = d = 0,
- r = 0,
- c = c / 2;
- if (m && 0 < m.length) for (b = 0, k = m.length; b < k; b++) {
- var s = m[b];
- 0 == g && (g = a[d], r = q = n.width / (1 + g));
- h = s._getHeight();
- e = e >= h || isNaN(h) ? e : h;
- s.setPosition(r - n.width / 2, c - h / 2);
- r += q; ++f;
- f >= g && (c -= e + 5, e = g = f = 0, ++d)
- }
- },
- alignItemsInRows: function () {
- 0 < arguments.length && null == arguments[arguments.length - 1] && cc.log("parameters should not be ending with null in Javascript");
- var a = [],
- b;
- for (b = 0; b < arguments.length; b++) a.push(arguments[b]);
- var c = [],
- d = [],
- e = -10,
- f = -5,
- g = 0,
- h = 0,
- k = 0,
- m,
- n,
- q,
- r,
- s = this._children;
- if (s && 0 < s.length) for (b = 0, q = s.length; b < q; b++) (n = s[b], g >= a.length || !(m = a[g])) || (r = n.width, h = h >= r || isNaN(r) ? h : r, f += n.height + 5, ++k, k >= m && (c.push(h), d.push(f), e += h + 10, h = k = 0, f = -5, ++g));
- f = cc.director.getWinSize();
- m = h = g = 0;
- var e = -e / 2,
- t = 0;
- if (s && 0 < s.length) for (b = 0, q = s.length; b < q; b++) n = s[b],
- 0 == m && (m = a[g], t = d[g]),
- r = n._getWidth(),
- h = h >= r || isNaN(r) ? h : r,
- n.setPosition(e + c[g] / 2, t - f.height / 2),
- t -= n.height + 10,
- ++k,
- k >= m && (e += h + 5, h = m = k = 0, ++g)
- },
- removeChild: function (a, b) {
- null != a && (a instanceof cc.MenuItem ? (this._selectedItem == a && (this._selectedItem = null), cc.Node.prototype.removeChild.call(this, a, b)) : cc.log("cc.Menu.removeChild():Menu only supports MenuItem objects as children"))
- },
- _onTouchBegan: function (a, b) {
- var c = b.getCurrentTarget();
- if (c._state != cc.MENU_STATE_WAITING || !c._visible || !c.enabled) return !1;
- for (var d = c.parent; null != d; d = d.parent) if (!d.isVisible()) return !1;
- c._selectedItem = c._itemForTouch(a);
- return c._selectedItem ? (c._state = cc.MENU_STATE_TRACKING_TOUCH, c._selectedItem.selected(), !0) : !1
- },
- _onTouchEnded: function (a, b) {
- var c = b.getCurrentTarget();
- c._state !== cc.MENU_STATE_TRACKING_TOUCH ? cc.log("cc.Menu.onTouchEnded(): invalid state") : (c._selectedItem && (c._selectedItem.unselected(), c._selectedItem.activate()), c._state = cc.MENU_STATE_WAITING)
- },
- _onTouchCancelled: function (a, b) {
- var c = b.getCurrentTarget();
- c._state !== cc.MENU_STATE_TRACKING_TOUCH ? cc.log("cc.Menu.onTouchCancelled(): invalid state") : (this._selectedItem && c._selectedItem.unselected(), c._state = cc.MENU_STATE_WAITING)
- },
- _onTouchMoved: function (a, b) {
- var c = b.getCurrentTarget();
- if (c._state !== cc.MENU_STATE_TRACKING_TOUCH) cc.log("cc.Menu.onTouchMoved(): invalid state");
- else {
- var d = c._itemForTouch(a);
- d != c._selectedItem && (c._selectedItem && c._selectedItem.unselected(), c._selectedItem = d, c._selectedItem && c._selectedItem.selected())
- }
- },
- onExit: function () {
- this._state == cc.MENU_STATE_TRACKING_TOUCH && (this._selectedItem && (this._selectedItem.unselected(), this._selectedItem = null), this._state = cc.MENU_STATE_WAITING);
- cc.Node.prototype.onExit.call(this)
- },
- setOpacityModifyRGB: function (a) { },
- isOpacityModifyRGB: function () {
- return !1
- },
- _itemForTouch: function (a) {
- a = a.getLocation();
- var b = this._children,
- c;
- if (b && 0 < b.length) for (var d = b.length - 1; 0 <= d; d--) if (c = b[d], c.isVisible() && c.isEnabled()) {
- var e = c.convertToNodeSpace(a),
- f = c.rect();
- f.x = 0;
- f.y = 0;
- if (cc.rectContainsPoint(f, e)) return c
- }
- return null
- }
- });
- _p = cc.Menu.prototype;
- cc.Menu.create = function (a) {
- var b = arguments.length;
- 0 < b && null == arguments[b - 1] && cc.log("parameters should not be ending with null in Javascript");
- return 0 == b ? new cc.Menu : 1 == b ? new cc.Menu(a) : new cc.Menu(Array.prototype.slice.call(arguments, 0))
- };
- cc.ProgressTimer = cc.Node.extend({
- _type: null,
- _percentage: 0,
- _sprite: null,
- _midPoint: null,
- _barChangeRate: null,
- _reverseDirection: !1,
- _className: "ProgressTimer",
- getMidpoint: function () {
- return cc.p(this._midPoint.x, this._midPoint.y)
- },
- setMidpoint: function (a) {
- this._midPoint = cc.pClamp(a, cc.p(0, 0), cc.p(1, 1))
- },
- getBarChangeRate: function () {
- return cc.p(this._barChangeRate.x, this._barChangeRate.y)
- },
- setBarChangeRate: function (a) {
- this._barChangeRate = cc.pClamp(a, cc.p(0, 0), cc.p(1, 1))
- },
- getType: function () {
- return this._type
- },
- getPercentage: function () {
- return this._percentage
- },
- getSprite: function () {
- return this._sprite
- },
- setPercentage: function (a) {
- this._percentage != a && (this._percentage = cc.clampf(a, 0, 100), this._updateProgress())
- },
- setOpacityModifyRGB: function (a) { },
- isOpacityModifyRGB: function () {
- return !1
- },
- isReverseDirection: function () {
- return this._reverseDirection
- },
- _boundaryTexCoord: function (a) {
- if (a < cc.ProgressTimer.TEXTURE_COORDS_COUNT) {
- var b = cc.ProgressTimer.TEXTURE_COORDS;
- return this._reverseDirection ? cc.p(b >> 7 - (a << 1) & 1, b >> 7 -
- ((a << 1) + 1) & 1) : cc.p(b >> (a << 1) + 1 & 1, b >> (a << 1) & 1)
- }
- return cc.p(0, 0)
- },
- _origin: null,
- _startAngle: 270,
- _endAngle: 270,
- _radius: 0,
- _counterClockWise: !1,
- _barRect: null,
- _vertexDataCount: 0,
- _vertexData: null,
- _vertexArrayBuffer: null,
- _vertexWebGLBuffer: null,
- _vertexDataDirty: !1,
- ctor: null,
- _ctorForCanvas: function (a) {
- cc.Node.prototype.ctor.call(this);
- this._type = cc.ProgressTimer.TYPE_RADIAL;
- this._percentage = 0;
- this._midPoint = cc.p(0, 0);
- this._barChangeRate = cc.p(0, 0);
- this._reverseDirection = !1;
- this._sprite = null;
- this._origin = cc.p(0, 0);
- this._endAngle = this._startAngle = 270;
- this._radius = 0;
- this._counterClockWise = !1;
- this._barRect = cc.rect(0, 0, 0, 0);
- a && this._initWithSpriteForCanvas(a)
- },
- _ctorForWebGL: function (a) {
- cc.Node.prototype.ctor.call(this);
- this._type = cc.ProgressTimer.TYPE_RADIAL;
- this._percentage = 0;
- this._midPoint = cc.p(0, 0);
- this._barChangeRate = cc.p(0, 0);
- this._reverseDirection = !1;
- this._sprite = null;
- this._vertexWebGLBuffer = cc._renderContext.createBuffer();
- this._vertexDataCount = 0;
- this._vertexArrayBuffer = this._vertexData = null;
- this._vertexDataDirty = !1;
- a && this._initWithSpriteForWebGL(a)
- },
- setColor: function (a) {
- this._sprite.color = a;
- this._updateColor()
- },
- setOpacity: function (a) {
- this._sprite.opacity = a;
- this._updateColor()
- },
- getColor: function () {
- return this._sprite.color
- },
- getOpacity: function () {
- return this._sprite.opacity
- },
- setReverseProgress: null,
- _setReverseProgressForCanvas: function (a) {
- this._reverseDirection !== a && (this._reverseDirection = a)
- },
- _setReverseProgressForWebGL: function (a) {
- this._reverseDirection !== a && (this._reverseDirection = a, this._vertexArrayBuffer = this._vertexData = null, this._vertexDataCount = 0)
- },
- setSprite: null,
- _setSpriteForCanvas: function (a) {
- this._sprite != a && (this._sprite = a, this.width = this._sprite.width, this.height = this._sprite.height)
- },
- _setSpriteForWebGL: function (a) {
- a && this._sprite != a && (this._sprite = a, this.width = a.width, this.height = a.height, this._vertexData && (this._vertexArrayBuffer = this._vertexData = null, this._vertexDataCount = 0))
- },
- setType: null,
- _setTypeForCanvas: function (a) {
- a !== this._type && (this._type = a)
- },
- _setTypeForWebGL: function (a) {
- a !== this._type && (this._vertexData && (this._vertexArrayBuffer = this._vertexData = null, this._vertexDataCount = 0), this._type = a)
- },
- setReverseDirection: null,
- _setReverseDirectionForCanvas: function (a) {
- this._reverseDirection !== a && (this._reverseDirection = a)
- },
- _setReverseDirectionForWebGL: function (a) {
- this._reverseDirection !== a && (this._reverseDirection = a, this._vertexArrayBuffer = this._vertexData = null, this._vertexDataCount = 0)
- },
- _textureCoordFromAlphaPoint: function (a) {
- var b = this._sprite;
- if (!b) return {
- u: 0,
- v: 0
- };
- var c = b.quad,
- d = cc.p(c.bl.texCoords.u, c.bl.texCoords.v),
- c = cc.p(c.tr.texCoords.u, c.tr.texCoords.v);
- b.textureRectRotated && (b = a.x, a.x = a.y, a.y = b);
- return {
- u: d.x * (1 - a.x) + c.x * a.x,
- v: d.y * (1 - a.y) + c.y * a.y
- }
- },
- _vertexFromAlphaPoint: function (a) {
- if (!this._sprite) return {
- x: 0,
- y: 0
- };
- var b = this._sprite.quad,
- c = cc.p(b.bl.vertices.x, b.bl.vertices.y),
- b = cc.p(b.tr.vertices.x, b.tr.vertices.y);
- return {
- x: c.x * (1 - a.x) + b.x * a.x,
- y: c.y * (1 - a.y) + b.y * a.y
- }
- },
- initWithSprite: null,
- _initWithSpriteForCanvas: function (a) {
- this.percentage = 0;
- this.anchorY = this.anchorX = 0.5;
- this._type = cc.ProgressTimer.TYPE_RADIAL;
- this._reverseDirection = !1;
- this.midPoint = cc.p(0.5, 0.5);
- this.barChangeRate = cc.p(1, 1);
- this.sprite = a;
- return !0
- },
- _initWithSpriteForWebGL: function (a) {
- this.percentage = 0;
- this._vertexArrayBuffer = this._vertexData = null;
- this._vertexDataCount = 0;
- this.anchorY = this.anchorX = 0.5;
- this._type = cc.ProgressTimer.TYPE_RADIAL;
- this._reverseDirection = !1;
- this.midPoint = cc.p(0.5, 0.5);
- this.barChangeRate = cc.p(1, 1);
- this.sprite = a;
- this.shaderProgram = cc.shaderCache.programForKey(cc.SHADER_POSITION_TEXTURECOLOR);
- return !0
- },
- draw: null,
- _drawForCanvas: function (a) {
- a = a || cc._renderContext;
- var b = this._sprite;
- "source" != b._blendFuncStr && (a.globalCompositeOperation = b._blendFuncStr);
- var c = cc.view.getScaleX(),
- d = cc.view.getScaleY();
- a.globalAlpha = b._displayedOpacity / 255;
- var e = b._rect,
- f = b._contentSize,
- g = b._offsetPosition,
- h = b._drawSize_Canvas,
- k = 0 | g.x,
- m = -g.y - e.height,
- n = b._textureRect_Canvas;
- h.width = e.width * c;
- h.height = e.height * d;
- a.save();
- b._flippedX && (k = -g.x - e.width, a.scale(-1, 1));
- b._flippedY && (m = g.y, a.scale(1, -1));
- k *= c;
- m *= d;
- this._type == cc.ProgressTimer.TYPE_BAR ? (e = this._barRect, a.beginPath(), a.rect(e.x * c, e.y * d, e.width * c, e.height * d), a.clip(), a.closePath()) : this._type == cc.ProgressTimer.TYPE_RADIAL && (e = this._origin.x * c, g = this._origin.y * d, a.beginPath(), a.arc(e, g, this._radius * d, Math.PI / 180 * this._startAngle, Math.PI / 180 * this._endAngle, this._counterClockWise), a.lineTo(e, g), a.clip(), a.closePath());
- b._texture && n.validRect ? (c = b._texture.getHtmlElementObj(), b._colorized ? a.drawImage(c, 0, 0, n.width, n.height, k, m, h.width, h.height) : a.drawImage(c, n.x, n.y, n.width, n.height, k, m, h.width, h.height)) : 0 !== f.width && (b = this.color, a.fillStyle = "rgba(" + b.r + "," + b.g + "," + b.b + ",1)", a.fillRect(k, m, f.width * c, f.height * d));
- a.restore();
- cc.incrementGLDraws(1)
- },
- _drawForWebGL: function (a) {
- a = a || cc._renderContext;
- if (this._vertexData && this._sprite) {
- cc.nodeDrawSetup(this);
- var b = this._sprite.getBlendFunc();
- cc.glBlendFunc(b.src, b.dst);
- cc.glEnableVertexAttribs(cc.VERTEX_ATTRIB_FLAG_POS_COLOR_TEX);
- cc.glBindTexture2D(this._sprite.texture);
- a.bindBuffer(a.ARRAY_BUFFER, this._vertexWebGLBuffer);
- this._vertexDataDirty && (a.bufferData(a.ARRAY_BUFFER, this._vertexArrayBuffer, a.DYNAMIC_DRAW), this._vertexDataDirty = !1);
- b = cc.V2F_C4B_T2F.BYTES_PER_ELEMENT;
- a.vertexAttribPointer(cc.VERTEX_ATTRIB_POSITION, 2, a.FLOAT, !1, b, 0);
- a.vertexAttribPointer(cc.VERTEX_ATTRIB_COLOR, 4, a.UNSIGNED_BYTE, !0, b, 8);
- a.vertexAttribPointer(cc.VERTEX_ATTRIB_TEX_COORDS, 2, a.FLOAT, !1, b, 12);
- this._type === cc.ProgressTimer.TYPE_RADIAL ? a.drawArrays(a.TRIANGLE_FAN, 0, this._vertexDataCount) : this._type == cc.ProgressTimer.TYPE_BAR && (this._reverseDirection ? (a.drawArrays(a.TRIANGLE_STRIP, 0, this._vertexDataCount / 2), a.drawArrays(a.TRIANGLE_STRIP, 4, this._vertexDataCount / 2), cc.g_NumberOfDraws++) : a.drawArrays(a.TRIANGLE_STRIP, 0, this._vertexDataCount));
- cc.g_NumberOfDraws++
- }
- },
- _updateRadial: function () {
- if (this._sprite) {
- var a,
- b = this._midPoint;
- a = this._percentage / 100;
- var c = 2 * cc.PI * (this._reverseDirection ? a : 1 - a),
- d = cc.p(b.x, 1),
- e = cc.pRotateByAngle(d, b, c),
- c = 0;
- if (0 == a) e = d,
- c = 0;
- else if (1 == a) e = d,
- c = 4;
- else {
- var f = cc.FLT_MAX,
- g = cc.ProgressTimer.TEXTURE_COORDS_COUNT;
- for (a = 0; a <= g; ++a) {
- var h = (a + (g - 1)) % g,
- k = this._boundaryTexCoord(a % g),
- h = this._boundaryTexCoord(h);
- 0 == a ? h = cc.pLerp(k, h, 1 - b.x) : 4 == a && (k = cc.pLerp(k, h, 1 - b.x));
- var m = cc.p(0, 0);
- cc.pLineIntersect(k, h, b, e, m) && (0 != a && 4 != a || 0 <= m.x && 1 >= m.x) && 0 <= m.y && m.y < f && (f = m.y, c = a)
- }
- e = cc.pAdd(b, cc.pMult(cc.pSub(e, b), f))
- }
- f = !0;
- this._vertexDataCount != c + 3 && (f = !1, this._vertexArrayBuffer = this._vertexData = null, this._vertexDataCount = 0);
- if (!this._vertexData) {
- g = this._vertexDataCount = c + 3;
- k = cc.V2F_C4B_T2F.BYTES_PER_ELEMENT;
- this._vertexArrayBuffer = new ArrayBuffer(g * k);
- h = [];
- for (a = 0; a < g; a++) h[a] = new cc.V2F_C4B_T2F(null, null, null, this._vertexArrayBuffer, a * k);
- this._vertexData = h;
- if (!this._vertexData) {
- cc.log("cc.ProgressTimer._updateRadial() : Not enough memory");
- return
- }
- }
- this._updateColor();
- g = this._vertexData;
- if (!f) for (g[0].texCoords = this._textureCoordFromAlphaPoint(b), g[0].vertices = this._vertexFromAlphaPoint(b), g[1].texCoords = this._textureCoordFromAlphaPoint(d), g[1].vertices = this._vertexFromAlphaPoint(d), a = 0; a < c; a++) b = this._boundaryTexCoord(a),
- g[a + 2].texCoords = this._textureCoordFromAlphaPoint(b),
- g[a + 2].vertices = this._vertexFromAlphaPoint(b);
- g[this._vertexDataCount - 1].texCoords = this._textureCoordFromAlphaPoint(e);
- g[this._vertexDataCount - 1].vertices = this._vertexFromAlphaPoint(e)
- }
- },
- _updateBar: function () {
- if (this._sprite) {
- var a,
- b = this._percentage / 100,
- c = this._barChangeRate,
- c = cc.pMult(cc.p(1 - c.x + b * c.x, 1 - c.y + b * c.y), 0.5),
- b = cc.pSub(this._midPoint, c),
- c = cc.pAdd(this._midPoint, c);
- 0 > b.x && (c.x += -b.x, b.x = 0);
- 1 < c.x && (b.x -= c.x - 1, c.x = 1);
- 0 > b.y && (c.y += -b.y, b.y = 0);
- 1 < c.y && (b.y -= c.y - 1, c.y = 1);
- if (this._reverseDirection) {
- if (!this._vertexData) {
- this._vertexDataCount = 8;
- var d = cc.V2F_C4B_T2F.BYTES_PER_ELEMENT;
- this._vertexArrayBuffer = new ArrayBuffer(8 * d);
- var e = [];
- for (a = 0; 8 > a; a++) e[a] = new cc.V2F_C4B_T2F(null, null, null, this._vertexArrayBuffer, a * d);
- e[0].texCoords = this._textureCoordFromAlphaPoint(cc.p(0, 1));
- e[0].vertices = this._vertexFromAlphaPoint(cc.p(0, 1));
- e[1].texCoords = this._textureCoordFromAlphaPoint(cc.p(0, 0));
- e[1].vertices = this._vertexFromAlphaPoint(cc.p(0, 0));
- e[6].texCoords = this._textureCoordFromAlphaPoint(cc.p(1, 1));
- e[6].vertices = this._vertexFromAlphaPoint(cc.p(1, 1));
- e[7].texCoords = this._textureCoordFromAlphaPoint(cc.p(1, 0));
- e[7].vertices = this._vertexFromAlphaPoint(cc.p(1, 0));
- this._vertexData = e
- }
- a = this._vertexData;
- a[2].texCoords = this._textureCoordFromAlphaPoint(cc.p(b.x, c.y));
- a[2].vertices = this._vertexFromAlphaPoint(cc.p(b.x, c.y));
- a[3].texCoords = this._textureCoordFromAlphaPoint(cc.p(b.x, b.y));
- a[3].vertices = this._vertexFromAlphaPoint(cc.p(b.x, b.y));
- a[4].texCoords = this._textureCoordFromAlphaPoint(cc.p(c.x, c.y));
- a[4].vertices = this._vertexFromAlphaPoint(cc.p(c.x, c.y));
- a[5].texCoords = this._textureCoordFromAlphaPoint(cc.p(c.x, b.y));
- a[5].vertices = this._vertexFromAlphaPoint(cc.p(c.x, b.y))
- } else {
- if (!this._vertexData) for (this._vertexDataCount = 4, d = cc.V2F_C4B_T2F.BYTES_PER_ELEMENT, this._vertexArrayBuffer = new ArrayBuffer(4 * d), this._vertexData = [], a = 0; 4 > a; a++) this._vertexData[a] = new cc.V2F_C4B_T2F(null, null, null, this._vertexArrayBuffer, a * d);
- a = this._vertexData;
- a[0].texCoords = this._textureCoordFromAlphaPoint(cc.p(b.x, c.y));
- a[0].vertices = this._vertexFromAlphaPoint(cc.p(b.x, c.y));
- a[1].texCoords = this._textureCoordFromAlphaPoint(cc.p(b.x, b.y));
- a[1].vertices = this._vertexFromAlphaPoint(cc.p(b.x, b.y));
- a[2].texCoords = this._textureCoordFromAlphaPoint(cc.p(c.x, c.y));
- a[2].vertices = this._vertexFromAlphaPoint(cc.p(c.x, c.y));
- a[3].texCoords = this._textureCoordFromAlphaPoint(cc.p(c.x, b.y));
- a[3].vertices = this._vertexFromAlphaPoint(cc.p(c.x, b.y))
- }
- this._updateColor()
- }
- },
- _updateColor: function () {
- if (this._sprite && this._vertexData) {
- for (var a = this._sprite.quad.tl.colors, b = this._vertexData, c = 0, d = this._vertexDataCount; c < d; ++c) b[c].colors = a;
- this._vertexDataDirty = !0
- }
- },
- _updateProgress: null,
- _updateProgressForCanvas: function () {
- var a = this._sprite,
- b = a.width,
- c = a.height,
- d = this._midPoint;
- if (this._type == cc.ProgressTimer.TYPE_RADIAL) {
- this._radius = Math.round(Math.sqrt(b * b + c * c));
- var e,
- f = !1,
- g = this._origin;
- g.x = b * d.x;
- g.y = -c * d.y;
- this._reverseDirection ? (e = 270, d = 270 - 3.6 * this._percentage) : (d = -90, e = -90 + 3.6 * this._percentage);
- a._flippedX && (g.x -= 2 * b * this._midPoint.x, d = -d - 180, e = -e - 180, f = !f);
- a._flippedY && (g.y += 2 * c * this._midPoint.y, f = !f, d = -d, e = -e);
- this._startAngle = d;
- this._endAngle = e;
- this._counterClockWise = f
- } else {
- e = this._barChangeRate;
- g = this._percentage / 100;
- f = this._barRect;
- e = cc.size(b * (1 - e.x), c * (1 - e.y));
- var g = cc.size((b - e.width) * g, (c - e.height) * g),
- g = cc.size(e.width + g.width, e.height + g.height),
- h = cc.p(b * d.x, c * d.y);
- e = h.x - g.width / 2;
- 0.5 < d.x && g.width / 2 >= b - h.x && (e = b - g.width);
- b = h.y - g.height / 2;
- 0.5 < d.y && g.height / 2 >= c - h.y && (b = c - g.height);
- f.x = 0;
- c = 1;
- a._flippedX && (f.x -= g.width, c = -1);
- 0 < e && (f.x += e * c);
- f.y = 0;
- c = 1;
- a._flippedY && (f.y += g.height, c = -1);
- 0 < b && (f.y -= b * c);
- f.width = g.width;
- f.height = -g.height
- }
- },
- _updateProgressForWebGL: function () {
- var a = this._type;
- a === cc.ProgressTimer.TYPE_RADIAL ? this._updateRadial() : a === cc.ProgressTimer.TYPE_BAR && this._updateBar();
- this._vertexDataDirty = !0
- }
- });
- _p = cc.ProgressTimer.prototype;
- cc._renderType == cc._RENDER_TYPE_WEBGL ? (_p.ctor = _p._ctorForWebGL, _p.setReverseProgress = _p._setReverseProgressForWebGL, _p.setSprite = _p._setSpriteForWebGL, _p.setType = _p._setTypeForWebGL, _p.setReverseDirection = _p._setReverseDirectionForWebGL, _p.initWithSprite = _p._initWithSpriteForWebGL, _p.draw = _p._drawForWebGL, _p._updateProgress = _p._updateProgressForWebGL) : (_p.ctor = _p._ctorForCanvas, _p.setReverseProgress = _p._setReverseProgressForCanvas, _p.setSprite = _p._setSpriteForCanvas, _p.setType = _p._setTypeForCanvas, _p.setReverseDirection = _p._setReverseDirectionForCanvas, _p.initWithSprite = _p._initWithSpriteForCanvas, _p.draw = _p._drawForCanvas, _p._updateProgress = cc.ProgressTimer.prototype._updateProgressForCanvas);
- cc.defineGetterSetter(_p, "midPoint", _p.getMidpoint, _p.setMidpoint);
- cc.defineGetterSetter(_p, "barChangeRate", _p.getBarChangeRate, _p.setBarChangeRate);
- cc.defineGetterSetter(_p, "type", _p.getType, _p.setType);
- cc.defineGetterSetter(_p, "percentage", _p.getPercentage, _p.setPercentage);
- cc.defineGetterSetter(_p, "sprite", _p.getSprite, _p.setSprite);
- cc.defineGetterSetter(_p, "reverseDir", _p.isReverseDirection, _p.setReverseDirection);
- cc.ProgressTimer.create = function (a) {
- return new cc.ProgressTimer(a)
- };
- cc.ProgressTimer.TEXTURE_COORDS_COUNT = 4;
- cc.ProgressTimer.TEXTURE_COORDS = 75;
- cc.ProgressTimer.TYPE_RADIAL = 0;
- cc.ProgressTimer.TYPE_BAR = 1;
- cc.ProgressTo = cc.ActionInterval.extend({
- _to: 0,
- _from: 0,
- ctor: function (a, b) {
- cc.ActionInterval.prototype.ctor.call(this);
- this._from = this._to = 0;
- void 0 !== b && this.initWithDuration(a, b)
- },
- initWithDuration: function (a, b) {
- return cc.ActionInterval.prototype.initWithDuration.call(this, a) ? (this._to = b, !0) : !1
- },
- clone: function () {
- var a = new cc.ProgressTo;
- a.initWithDuration(this._duration, this._to);
- return a
- },
- reverse: function () {
- cc.log("cc.ProgressTo.reverse(): reverse hasn't been supported.");
- return null
- },
- startWithTarget: function (a) {
- cc.ActionInterval.prototype.startWithTarget.call(this, a);
- this._from = a.percentage;
- 100 == this._from && (this._from = 0)
- },
- update: function (a) {
- this.target instanceof cc.ProgressTimer && (this.target.percentage = this._from + (this._to - this._from) * a)
- }
- });
- cc.progressTo = function (a, b) {
- return new cc.ProgressTo(a, b)
- };
- cc.ProgressTo.create = cc.progressTo;
- cc.ProgressFromTo = cc.ActionInterval.extend({
- _to: 0,
- _from: 0,
- ctor: function (a, b, c) {
- cc.ActionInterval.prototype.ctor.call(this);
- this._from = this._to = 0;
- void 0 !== c && this.initWithDuration(a, b, c)
- },
- initWithDuration: function (a, b, c) {
- return cc.ActionInterval.prototype.initWithDuration.call(this, a) ? (this._to = c, this._from = b, !0) : !1
- },
- clone: function () {
- var a = new cc.ProgressFromTo;
- a.initWithDuration(this._duration, this._from, this._to);
- return a
- },
- reverse: function () {
- return cc.progressFromTo(this._duration, this._to, this._from)
- },
- startWithTarget: function (a) {
- cc.ActionInterval.prototype.startWithTarget.call(this, a)
- },
- update: function (a) {
- this.target instanceof cc.ProgressTimer && (this.target.percentage = this._from + (this._to - this._from) * a)
- }
- });
- cc.progressFromTo = function (a, b, c) {
- return new cc.ProgressFromTo(a, b, c)
- };
- cc.ProgressFromTo.create = cc.progressFromTo;
- cc.LabelAtlas = cc.AtlasNode.extend({
- _string: null,
- _mapStartChar: null,
- _textureLoaded: !1,
- _loadedEventListeners: null,
- _className: "LabelAtlas",
- ctor: function (a, b, c, d, e) {
- cc.AtlasNode.prototype.ctor.call(this);
- b && cc.LabelAtlas.prototype.initWithString.call(this, a, b, c, d, e)
- },
- textureLoaded: function () {
- return this._textureLoaded
- },
- addLoadedEventListener: function (a, b) {
- this._loadedEventListeners || (this._loadedEventListeners = []);
- this._loadedEventListeners.push({
- eventCallback: a,
- eventTarget: b
- })
- },
- _callLoadedEventCallbacks: function () {
- if (this._loadedEventListeners) {
- this._textureLoaded = !0;
- for (var a = this._loadedEventListeners, b = 0, c = a.length; b < c; b++) {
- var d = a[b];
- d.eventCallback.call(d.eventTarget, this)
- }
- a.length = 0
- }
- },
- initWithString: function (a, b, c, d, e) {
- var f = a + "",
- g,
- h;
- if (void 0 === c) {
- c = cc.loader.getRes(b);
- if (1 !== parseInt(c.version, 10)) return cc.log("cc.LabelAtlas.initWithString(): Unsupported version. Upgrade cocos2d version"),
- !1;
- b = cc.path.changeBasename(b, c.textureFilename);
- d = cc.contentScaleFactor();
- g = parseInt(c.itemWidth, 10) / d;
- h = parseInt(c.itemHeight, 10) / d;
- c = String.fromCharCode(parseInt(c.firstChar, 10))
- } else g = c || 0,
- h = d || 0,
- c = e || " ";
- var k = null,
- k = b instanceof cc.Texture2D ? b : cc.textureCache.addImage(b); (this._textureLoaded = b = k.isLoaded()) || k.addLoadedEventListener(function (a) {
- this.initWithTexture(k, g, h, f.length);
- this.string = f;
- this._callLoadedEventCallbacks()
- },
- this);
- return this.initWithTexture(k, g, h, f.length) ? (this._mapStartChar = c, this.string = f, !0) : !1
- },
- setColor: function (a) {
- cc.AtlasNode.prototype.setColor.call(this, a);
- this.updateAtlasValues()
- },
- getString: function () {
- return this._string
- },
- draw: function (a) {
- cc.AtlasNode.prototype.draw.call(this, a);
- cc.LABELATLAS_DEBUG_DRAW && (a = this.size, a = [cc.p(0, 0), cc.p(a.width, 0), cc.p(a.width, a.height), cc.p(0, a.height)], cc._drawingUtil.drawPoly(a, 4, !0))
- },
- _addChildForCanvas: function (a, b, c) {
- a._lateChild = !0;
- cc.Node.prototype.addChild.call(this, a, b, c)
- },
- updateAtlasValues: null,
- _updateAtlasValuesForCanvas: function () {
- for (var a = this._string || "", b = a.length, c = this.texture, d = this._itemWidth, e = this._itemHeight, f = 0; f < b; f++) {
- var g = a.charCodeAt(f) - this._mapStartChar.charCodeAt(0),
- h = parseInt(g % this._itemsPerRow, 10),
- g = parseInt(g / this._itemsPerRow, 10),
- h = cc.rect(h * d, g * e, d, e),
- g = a.charCodeAt(f),
- k = this.getChildByTag(f);
- k ? 32 == g ? (k.init(), k.setTextureRect(cc.rect(0, 0, 10, 10), !1, cc.size(0, 0))) : (k.initWithTexture(c, h), k.visible = !0, k.opacity = this._displayedOpacity) : (k = new cc.Sprite, 32 == g ? (k.init(), k.setTextureRect(cc.rect(0, 0, 10, 10), !1, cc.size(0, 0))) : k.initWithTexture(c, h), cc.Node.prototype.addChild.call(this, k, 0, f));
- k.setPosition(f * d + d / 2, e / 2)
- }
- },
- _updateAtlasValuesForWebGL: function () {
- var a = this._string,
- b = a.length,
- c = this.textureAtlas,
- d = c.texture,
- e = d.pixelsWidth,
- d = d.pixelsHeight,
- f = this._itemWidth,
- g = this._itemHeight;
- this._ignoreContentScaleFactor || (f = this._itemWidth * cc.contentScaleFactor(), g = this._itemHeight * cc.contentScaleFactor());
- b > c.getCapacity() && cc.log("cc.LabelAtlas._updateAtlasValues(): Invalid String length");
- for (var h = c.quads, k = this._displayedColor, k = {
- r: k.r,
- g: k.g,
- b: k.b,
- a: this._displayedOpacity
- },
- m = this._itemWidth, n = 0; n < b; n++) {
- var q = a.charCodeAt(n) - this._mapStartChar.charCodeAt(0),
- r = q % this._itemsPerRow,
- s = 0 | q / this._itemsPerRow,
- t;
- cc.FIX_ARTIFACTS_BY_STRECHING_TEXEL ? (r = (2 * r * f + 1) / (2 * e), q = r + (2 * f - 2) / (2 * e), s = (2 * s * g + 1) / (2 * d), t = s + (2 * g - 2) / (2 * d)) : (r = r * f / e, q = r + f / e, s = s * g / d, t = s + g / d);
- var u = h[n],
- v = u.tl,
- w = u.tr,
- x = u.bl,
- u = u.br;
- v.texCoords.u = r;
- v.texCoords.v = s;
- w.texCoords.u = q;
- w.texCoords.v = s;
- x.texCoords.u = r;
- x.texCoords.v = t;
- u.texCoords.u = q;
- u.texCoords.v = t;
- x.vertices.x = n * m;
- x.vertices.y = 0;
- x.vertices.z = 0;
- u.vertices.x = n * m + m;
- u.vertices.y = 0;
- u.vertices.z = 0;
- v.vertices.x = n * m;
- v.vertices.y = this._itemHeight;
- v.vertices.z = 0;
- w.vertices.x = n * m + m;
- w.vertices.y = this._itemHeight;
- w.vertices.z = 0;
- v.colors = k;
- w.colors = k;
- x.colors = k;
- u.colors = k
- }
- 0 < b && (c.dirty = !0, a = c.totalQuads, b > a && c.increaseTotalQuadsWith(b - a))
- },
- setString: null,
- _setStringForCanvas: function (a) {
- a = String(a);
- var b = a.length;
- this._string = a;
- this.width = b * this._itemWidth;
- this.height = this._itemHeight;
- if (this._children) {
- a = this._children;
- for (var b = a.length, c = 0; c < b; c++) {
- var d = a[c];
- d && !d._lateChild && (d.visible = !1)
- }
- }
- this.updateAtlasValues();
- this.quadsToDraw = b
- },
- _setStringForWebGL: function (a) {
- a = String(a);
- var b = a.length;
- b > this.textureAtlas.totalQuads && this.textureAtlas.resizeCapacity(b);
- this._string = a;
- this.width = b * this._itemWidth;
- this.height = this._itemHeight;
- this.updateAtlasValues();
- this.quadsToDraw = b
- },
- setOpacity: null,
- _setOpacityForCanvas: function (a) {
- if (this._displayedOpacity !== a) {
- cc.AtlasNode.prototype.setOpacity.call(this, a);
- for (var b = this._children, c = 0, d = b.length; c < d; c++) b[c] && (b[c].opacity = a)
- }
- },
- _setOpacityForWebGL: function (a) {
- this._opacity !== a && cc.AtlasNode.prototype.setOpacity.call(this, a)
- }
- });
- _p = cc.LabelAtlas.prototype;
- cc._renderType === cc._RENDER_TYPE_WEBGL ? (_p.updateAtlasValues = _p._updateAtlasValuesForWebGL, _p.setString = _p._setStringForWebGL, _p.setOpacity = _p._setOpacityForWebGL) : (_p.updateAtlasValues = _p._updateAtlasValuesForCanvas, _p.setString = _p._setStringForCanvas, _p.setOpacity = _p._setOpacityForCanvas, _p.addChild = _p._addChildForCanvas);
- cc.defineGetterSetter(_p, "opacity", _p.getOpacity, _p.setOpacity);
- cc.defineGetterSetter(_p, "string", _p.getString, _p.setString);
- cc.LabelAtlas.create = function (a, b, c, d, e) {
- return new cc.LabelAtlas(a, b, c, d, e)
- };
- cc.LABEL_AUTOMATIC_WIDTH = -1;
- cc.LabelBMFont = cc.SpriteBatchNode.extend({
- _opacityModifyRGB: !1,
- _string: "",
- _config: null,
- _fntFile: "",
- _initialString: "",
- _alignment: cc.TEXT_ALIGNMENT_CENTER,
- _width: -1,
- _lineBreakWithoutSpaces: !1,
- _imageOffset: null,
- _reusedChar: null,
- _displayedOpacity: 255,
- _realOpacity: 255,
- _displayedColor: null,
- _realColor: null,
- _cascadeColorEnabled: !0,
- _cascadeOpacityEnabled: !0,
- _textureLoaded: !1,
- _loadedEventListeners: null,
- _className: "LabelBMFont",
- _setString: function (a, b) {
- b ? this._initialString = a : this._string = a;
- var c = this._children;
- if (c) for (var d = 0; d < c.length; d++) {
- var e = c[d];
- e && e.setVisible(!1)
- }
- this._textureLoaded && (this.createFontChars(), b && this.updateLabel())
- },
- ctor: function (a, b, c, d, e) {
- cc.SpriteBatchNode.prototype.ctor.call(this);
- this._imageOffset = cc.p(0, 0);
- this._displayedColor = cc.color(255, 255, 255, 255);
- this._realColor = cc.color(255, 255, 255, 255);
- this._reusedChar = [];
- this.initWithString(a, b, c, d, e)
- },
- textureLoaded: function () {
- return this._textureLoaded
- },
- addLoadedEventListener: function (a, b) {
- this._loadedEventListeners || (this._loadedEventListeners = []);
- this._loadedEventListeners.push({
- eventCallback: a,
- eventTarget: b
- })
- },
- _callLoadedEventCallbacks: function () {
- if (this._loadedEventListeners) {
- for (var a = this._loadedEventListeners, b = 0, c = a.length; b < c; b++) {
- var d = a[b];
- d.eventCallback.call(d.eventTarget, this)
- }
- a.length = 0
- }
- },
- draw: function (a) {
- cc.SpriteBatchNode.prototype.draw.call(this, a);
- if (cc.LABELBMFONT_DEBUG_DRAW) {
- a = this.getContentSize();
- var b = cc.p(0 | -this._anchorPointInPoints.x, 0 | -this._anchorPointInPoints.y);
- a = [cc.p(b.x, b.y), cc.p(b.x + a.width, b.y), cc.p(b.x +
- a.width, b.y + a.height), cc.p(b.x, b.y + a.height)];
- cc._drawingUtil.setDrawColor(0, 255, 0, 255);
- cc._drawingUtil.drawPoly(a, 4, !0)
- }
- },
- setColor: function (a) {
- var b = this._displayedColor,
- c = this._realColor;
- if (c.r != a.r || c.g != a.g || c.b != a.b || c.a != a.a) b.r = c.r = a.r,
- b.g = c.g = a.g,
- b.b = c.b = a.b,
- this._textureLoaded && this._cascadeColorEnabled && (a = cc.color.WHITE, (b = this._parent) && b.cascadeColor && (a = b.getDisplayedColor()), this.updateDisplayedColor(a))
- },
- isOpacityModifyRGB: function () {
- return this._opacityModifyRGB
- },
- setOpacityModifyRGB: function (a) {
- this._opacityModifyRGB = a;
- if (a = this._children) for (var b = 0; b < a.length; b++) {
- var c = a[b];
- c && (c.opacityModifyRGB = this._opacityModifyRGB)
- }
- },
- getOpacity: function () {
- return this._realOpacity
- },
- getDisplayedOpacity: function () {
- return this._displayedOpacity
- },
- setOpacity: function (a) {
- this._displayedOpacity = this._realOpacity = a;
- if (this._cascadeOpacityEnabled) {
- var b = 255,
- c = this._parent;
- c && c.cascadeOpacity && (b = c.getDisplayedOpacity());
- this.updateDisplayedOpacity(b)
- }
- this._displayedColor.a = this._realColor.a = a
- },
- updateDisplayedOpacity: function (a) {
- this._displayedOpacity = this._realOpacity * a / 255;
- a = this._children;
- for (var b = 0; b < a.length; b++) {
- var c = a[b];
- cc._renderType == cc._RENDER_TYPE_WEBGL ? c.updateDisplayedOpacity(this._displayedOpacity) : (cc.Node.prototype.updateDisplayedOpacity.call(c, this._displayedOpacity), c.setNodeDirty())
- }
- this._changeTextureColor()
- },
- isCascadeOpacityEnabled: function () {
- return !1
- },
- setCascadeOpacityEnabled: function (a) {
- this._cascadeOpacityEnabled = a
- },
- getColor: function () {
- var a = this._realColor;
- return cc.color(a.r, a.g, a.b, a.a)
- },
- getDisplayedColor: function () {
- var a = this._displayedColor;
- return cc.color(a.r, a.g, a.b, a.a)
- },
- updateDisplayedColor: function (a) {
- var b = this._displayedColor,
- c = this._realColor;
- b.r = c.r * a.r / 255;
- b.g = c.g * a.g / 255;
- b.b = c.b * a.b / 255;
- a = this._children;
- for (b = 0; b < a.length; b++) c = a[b],
- cc._renderType == cc._RENDER_TYPE_WEBGL ? c.updateDisplayedColor(this._displayedColor) : (cc.Node.prototype.updateDisplayedColor.call(c, this._displayedColor), c.setNodeDirty());
- this._changeTextureColor()
- },
- _changeTextureColor: function () {
- if (cc._renderType != cc._RENDER_TYPE_WEBGL) {
- var a = this.getTexture();
- if (a && 0 < a.getContentSize().width) {
- var b = this._originalTexture.getHtmlElementObj();
- if (b) {
- var c = a.getHtmlElementObj(),
- d = cc.rect(0, 0, b.width, b.height);
- c instanceof HTMLCanvasElement && !this._rectRotated ? cc.generateTintImageWithMultiply(b, this._displayedColor, d, c) : (c = cc.generateTintImageWithMultiply(b, this._displayedColor, d), a = new cc.Texture2D, a.initWithElement(c), a.handleLoadedTexture());
- this.setTexture(a)
- }
- }
- }
- },
- isCascadeColorEnabled: function () {
- return !1
- },
- setCascadeColorEnabled: function (a) {
- this._cascadeColorEnabled = a
- },
- init: function () {
- return this.initWithString(null, null, null, null, null)
- },
- initWithString: function (a, b, c, d, e) {
- a = a || "";
- this._config && cc.log("cc.LabelBMFont.initWithString(): re-init is no longer supported");
- if (b) {
- var f = cc.loader.getRes(b);
- if (!f) return cc.log("cc.LabelBMFont.initWithString(): Impossible to create font. Please check file"),
- !1;
- this._config = f;
- this._fntFile = b;
- b = cc.textureCache.addImage(f.atlasName); (this._textureLoaded = f = b.isLoaded()) || b.addLoadedEventListener(function (a) {
- this._textureLoaded = !0;
- this.initWithTexture(a, this._initialString.length);
- this.setString(this._initialString, !0);
- this._callLoadedEventCallbacks()
- },
- this)
- } else b = new cc.Texture2D,
- f = new Image,
- b.initWithElement(f),
- this._textureLoaded = !1;
- return this.initWithTexture(b, a.length) ? (this._alignment = d || cc.TEXT_ALIGNMENT_LEFT, this._imageOffset = e || cc.p(0, 0), this._width = null == c ? -1 : c, this._displayedOpacity = this._realOpacity = 255, this._displayedColor = cc.color(255, 255, 255, 255), this._realColor = cc.color(255, 255, 255, 255), this._cascadeColorEnabled = this._cascadeOpacityEnabled = !0, this._contentSize.width = 0, this._contentSize.height = 0, this.setAnchorPoint(0.5, 0.5), cc._renderType === cc._RENDER_TYPE_WEBGL && (c = this.textureAtlas.texture, this._opacityModifyRGB = c.hasPremultipliedAlpha(), d = this._reusedChar = new cc.Sprite, d.initWithTexture(c, cc.rect(0, 0, 0, 0), !1), d.batchNode = this), this.setString(a, !0), !0) : !1
- },
- createFontChars: function () {
- var a = cc._renderType,
- b = a === cc._RENDER_TYPE_CANVAS ? this.texture : this.textureAtlas.texture,
- c = 0,
- d = cc.size(0, 0),
- e = 0,
- f = 1,
- g = this._string,
- h = g ? g.length : 0;
- if (0 !== h) {
- var k,
- m = this._config,
- n = m.kerningDict,
- q = m.commonHeight,
- r = m.fontDefDictionary;
- for (k = 0; k < h - 1; k++) 10 == g.charCodeAt(k) && f++;
- var s = q * f,
- f = -(q - q * f),
- t = -1;
- for (k = 0; k < h; k++) if (q = g.charCodeAt(k), 0 != q) if (10 === q) c = 0,
- f -= m.commonHeight;
- else {
- var u = n[t << 16 | q & 65535] || 0,
- v = r[q];
- if (v) {
- var w = cc.rect(v.rect.x, v.rect.y, v.rect.width, v.rect.height),
- w = cc.rectPixelsToPoints(w);
- w.x += this._imageOffset.x;
- w.y += this._imageOffset.y; (t = this.getChildByTag(k)) ? 32 === q && a === cc._RENDER_TYPE_CANVAS ? t.setTextureRect(w, !1, cc.size(0, 0)) : (t.setTextureRect(w, !1), t.visible = !0) : (t = new cc.Sprite, 32 === q && a === cc._RENDER_TYPE_CANVAS && (w = cc.rect(0, 0, 0, 0)), t.initWithTexture(b, w, !1), t._newTextureWhenChangeColor = !0, this.addChild(t, 0, k));
- t.opacityModifyRGB = this._opacityModifyRGB;
- cc._renderType == cc._RENDER_TYPE_WEBGL ? (t.updateDisplayedColor(this._displayedColor), t.updateDisplayedOpacity(this._displayedOpacity)) : (cc.Node.prototype.updateDisplayedColor.call(t, this._displayedColor), cc.Node.prototype.updateDisplayedOpacity.call(t, this._displayedOpacity), t.setNodeDirty());
- w = cc.p(c + v.xOffset + 0.5 * v.rect.width + u, f + (m.commonHeight - v.yOffset) - 0.5 * w.height * cc.contentScaleFactor());
- t.setPosition(cc.pointPixelsToPoints(w));
- c += v.xAdvance + u;
- t = q;
- e < c && (e = c)
- } else cc.log("cocos2d: LabelBMFont: character not found " + g[k])
- }
- d.width = v && v.xAdvance < v.rect.width ? e - v.xAdvance + v.rect.width : e;
- d.height = s;
- this.setContentSize(cc.sizePixelsToPoints(d))
- }
- },
- updateString: function (a) {
- var b = this._children;
- if (b) for (var c = 0, d = b.length; c < d; c++) {
- var e = b[c];
- e && (e.visible = !1)
- }
- this._config && this.createFontChars();
- a || this.updateLabel()
- },
- getString: function () {
- return this._initialString
- },
- setString: function (a, b) {
- a = String(a);
- null == b && (b = !0);
- null != a && cc.isString(a) || (a += "");
- this._initialString = a;
- this._setString(a, b)
- },
- _setStringForSetter: function (a) {
- this.setString(a, !1)
- },
- setCString: function (a) {
- this.setString(a, !0)
- },
- updateLabel: function () {
- this.string = this._initialString;
- if (0 < this._width) {
- for (var a = this._string.length, b = [], c = [], d = 1, e = 0, f = !1, g = !1, h = -1, k = -1, m = 0, n, q = 0, r = this._children.length; q < r; q++) {
- for (var s = 0; !(n = this.getChildByTag(q + m + s)) ;) s++;
- m += s;
- if (e >= a) break;
- var t = this._string[e];
- g || (k = this._getLetterPosXLeft(n), g = !0);
- f || (h = k, f = !0);
- if (10 == t.charCodeAt(0)) {
- c.push("\n");
- b = b.concat(c);
- c.length = 0;
- f = g = !1;
- h = k = -1;
- q--;
- m -= s;
- d++;
- if (e >= a) break;
- k || (k = this._getLetterPosXLeft(n), g = !0);
- h || (h = k, f = !0);
- e++
- } else if (this._isspace_unicode(t)) c.push(t),
- b = b.concat(c),
- c.length = 0,
- g = !1,
- k = -1,
- e++;
- else if (this._getLetterPosXRight(n) - h > this._width) if (this._lineBreakWithoutSpaces) {
- this._utf8_trim_ws(c);
- c.push("\n");
- b = b.concat(c);
- c.length = 0;
- f = g = !1;
- h = k = -1;
- d++;
- if (e >= a) break;
- k || (k = this._getLetterPosXLeft(n), g = !0);
- h || (h = k, f = !0);
- q--
- } else c.push(t),
- -1 != b.lastIndexOf(" ") ? this._utf8_trim_ws(b) : b = [],
- 0 < b.length && b.push("\n"),
- d++,
- f = !1,
- h = -1,
- e++;
- else c.push(t),
- e++
- }
- b = b.concat(c);
- q = b.length;
- n = "";
- for (e = 0; e < q; ++e) n += b[e];
- n += String.fromCharCode(0);
- this._setString(n, !1)
- }
- if (this._alignment != cc.TEXT_ALIGNMENT_LEFT) for (b = e = 0, a = this._string.length, c = [], d = 0; d < a; d++) if (10 == this._string[d].charCodeAt(0) || 0 == this._string[d].charCodeAt(0)) if (q = 0, f = c.length, 0 == f) b++;
- else {
- if (n = e + f - 1 + b, !(0 > n) && (q = this.getChildByTag(n), null != q)) {
- q = q.getPositionX() + q._getWidth() / 2;
- g = 0;
- switch (this._alignment) {
- case cc.TEXT_ALIGNMENT_CENTER:
- g = this.width / 2 - q / 2;
- break;
- case cc.TEXT_ALIGNMENT_RIGHT:
- g = this.width - q
- }
- if (0 != g) for (q = 0; q < f; q++) (n = e + q + b, 0 > n || !(n = this.getChildByTag(n))) || (n.x += g);
- e += f;
- b++;
- c.length = 0
- }
- } else c.push(this._string[e])
- },
- setAlignment: function (a) {
- this._alignment = a;
- this.updateLabel()
- },
- _getAlignment: function () {
- return this._alignment
- },
- setBoundingWidth: function (a) {
- this._width = a;
- this.updateLabel()
- },
- _getBoundingWidth: function () {
- return this._width
- },
- setLineBreakWithoutSpace: function (a) {
- this._lineBreakWithoutSpaces = a;
- this.updateLabel()
- },
- setScale: function (a, b) {
- cc.Node.prototype.setScale.call(this, a, b);
- this.updateLabel()
- },
- setScaleX: function (a) {
- cc.Node.prototype.setScaleX.call(this, a);
- this.updateLabel()
- },
- setScaleY: function (a) {
- cc.Node.prototype.setScaleY.call(this, a);
- this.updateLabel()
- },
- setFntFile: function (a) {
- if (null != a && a != this._fntFile) {
- var b = cc.loader.getRes(a);
- b ? (this._fntFile = a, this._config = b, a = cc.textureCache.addImage(b.atlasName), this._textureLoaded = b = a.isLoaded(), this.texture = a, cc._renderType === cc._RENDER_TYPE_CANVAS && (this._originalTexture = this.texture), b ? this.createFontChars() : a.addLoadedEventListener(function (a) {
- this._textureLoaded = !0;
- this.texture = a;
- this.createFontChars();
- this._changeTextureColor();
- this.updateLabel();
- this._callLoadedEventCallbacks()
- },
- this)) : cc.log("cc.LabelBMFont.setFntFile() : Impossible to create font. Please check file")
- }
- },
- getFntFile: function () {
- return this._fntFile
- },
- setAnchorPoint: function (a, b) {
- cc.Node.prototype.setAnchorPoint.call(this, a, b);
- this.updateLabel()
- },
- _setAnchor: function (a) {
- cc.Node.prototype._setAnchor.call(this, a);
- this.updateLabel()
- },
- _setAnchorX: function (a) {
- cc.Node.prototype._setAnchorX.call(this, a);
- this.updateLabel()
- },
- _setAnchorY: function (a) {
- cc.Node.prototype._setAnchorY.call(this, a);
- this.updateLabel()
- },
- _atlasNameFromFntFile: function (a) { },
- _kerningAmountForFirst: function (a, b) {
- var c = 0;
- if (this._configuration.kerningDictionary) {
- var d = this._configuration.kerningDictionary[(a << 16 | b & 65535).toString()];
- d && (c = d.amount)
- }
- return c
- },
- _getLetterPosXLeft: function (a) {
- return a.getPositionX() * this._scaleX - a._getWidth() * this._scaleX * a._getAnchorX()
- },
- _getLetterPosXRight: function (a) {
- return a.getPositionX() * this._scaleX + a._getWidth() * this._scaleX * a._getAnchorX()
- },
- _isspace_unicode: function (a) {
- a = a.charCodeAt(0);
- return 9 <= a && 13 >= a || 32 == a || 133 == a || 160 == a || 5760 == a || 8192 <= a && 8202 >= a || 8232 == a || 8233 == a || 8239 == a || 8287 == a || 12288 == a
- },
- _utf8_trim_ws: function (a) {
- var b = a.length;
- if (!(0 >= b) && (b -= 1, this._isspace_unicode(a[b]))) {
- for (var c = b - 1; 0 <= c; --c) if (this._isspace_unicode(a[c])) b = c;
- else break;
- this._utf8_trim_from(a, b)
- }
- },
- _utf8_trim_from: function (a, b) {
- var c = a.length;
- b >= c || 0 > b || a.splice(b, c)
- }
- });
- _p = cc.LabelBMFont.prototype;
- cc._renderType === cc._RENDER_TYPE_CANVAS && (cc.sys._supportCanvasNewBlendModes || (_p._changeTextureColor = function () {
- if (cc._renderType != cc._RENDER_TYPE_WEBGL) {
- var a,
- b = this.getTexture();
- if (b && 0 < b.getContentSize().width && (a = b.getHtmlElementObj())) {
- var c = cc.textureCache.getTextureColors(this._originalTexture.getHtmlElementObj());
- c && (a instanceof HTMLCanvasElement && !this._rectRotated ? cc.generateTintImage(a, c, this._displayedColor, null, a) : (a = cc.generateTintImage(a, c, this._displayedColor), b = new cc.Texture2D, b.initWithElement(a), b.handleLoadedTexture()), this.setTexture(b))
- }
- }
- }), _p.setTexture = function (a) {
- for (var b = this._children, c = this._displayedColor, d = 0; d < b.length; d++) {
- var e = b[d],
- f = e._displayedColor;
- if (this._textureForCanvas == e._texture || f.r === c.r && f.g === c.g && f.b === c.b) e.texture = a
- }
- this._textureForCanvas = a
- });
- cc.defineGetterSetter(_p, "string", _p.getString, _p._setStringForSetter);
- cc.defineGetterSetter(_p, "boundingWidth", _p._getBoundingWidth, _p.setBoundingWidth);
- cc.defineGetterSetter(_p, "textAlign", _p._getAlignment, _p.setAlignment);
- cc.LabelBMFont.create = function (a, b, c, d, e) {
- return new cc.LabelBMFont(a, b, c, d, e)
- };
- cc._fntLoader = {
- INFO_EXP: /info [^\n]*(\n|$)/gi,
- COMMON_EXP: /common [^\n]*(\n|$)/gi,
- PAGE_EXP: /page [^\n]*(\n|$)/gi,
- CHAR_EXP: /char [^\n]*(\n|$)/gi,
- KERNING_EXP: /kerning [^\n]*(\n|$)/gi,
- ITEM_EXP: /\w+=[^ \r\n]+/gi,
- INT_EXP: /^[\-]?\d+$/,
- _parseStrToObj: function (a) {
- a = a.match(this.ITEM_EXP);
- var b = {};
- if (a) for (var c = 0, d = a.length; c < d; c++) {
- var e = a[c],
- f = e.indexOf("\x3d"),
- g = e.substring(0, f),
- e = e.substring(f + 1);
- e.match(this.INT_EXP) ? e = parseInt(e) : '"' == e[0] && (e = e.substring(1, e.length - 1));
- b[g] = e
- }
- return b
- },
- parseFnt: function (a, b) {
- var c = {},
- d = this._parseStrToObj(a.match(this.INFO_EXP)[0]).padding.split(",");
- parseInt(d[0]);
- parseInt(d[1]);
- parseInt(d[2]);
- parseInt(d[3]);
- d = this._parseStrToObj(a.match(this.COMMON_EXP)[0]);
- c.commonHeight = d.lineHeight;
- if (cc._renderType === cc._RENDER_TYPE_WEBGL) {
- var e = cc.configuration.getMaxTextureSize(); (d.scaleW > e.width || d.scaleH > e.height) && cc.log("cc.LabelBMFont._parseCommonArguments(): page can't be larger than supported")
- }
- 1 !== d.pages && cc.log("cc.LabelBMFont._parseCommonArguments(): only supports 1 page");
- d = this._parseStrToObj(a.match(this.PAGE_EXP)[0]);
- 0 !== d.id && cc.log("cc.LabelBMFont._parseImageFileName() : file could not be found");
- c.atlasName = cc.path.changeBasename(b, d.file);
- for (var f = a.match(this.CHAR_EXP), g = c.fontDefDictionary = {},
- d = 0, e = f.length; d < e; d++) {
- var h = this._parseStrToObj(f[d]);
- g[h.id] = {
- rect: {
- x: h.x,
- y: h.y,
- width: h.width,
- height: h.height
- },
- xOffset: h.xoffset,
- yOffset: h.yoffset,
- xAdvance: h.xadvance
- }
- }
- f = c.kerningDict = {};
- if (g = a.match(this.KERNING_EXP)) for (d = 0, e = g.length; d < e; d++) h = this._parseStrToObj(g[d]),
- f[h.first << 16 | h.second & 65535] = h.amount;
- return c
- },
- load: function (a, b, c, d) {
- var e = this;
- cc.loader.loadTxt(a,
- function (a, c) {
- if (a) return d(a);
- d(null, e.parseFnt(c, b))
- })
- }
- };
- cc.loader.register(["fnt"], cc._fntLoader);
- var res_img = {
- WelcomeBG_jpg: "Scenes/WelcomeBG.jpg",
- GoBtn_png: "Functions/Go.png",
- GoBtnS_png: "Functions/GoSel.png",
- RefreshBtnN_png: "Functions/RefreshN.png",
- RefreshBtnS_png: "Functions/RefreshS.png",
- ShareBtnN_png: "Functions/ShareN.png",
- ShareBtnS_png: "Functions/ShareS.png",
- TimeBar_png: "Functions/TimeBar.png",
- TimeBarBtm_png: "Functions/TimeBarBtm.png",
- GameBG_jpg: "Scenes/GameBG.jpg",
- PauseBG_jpg: "Scenes/PauseBG.jpg",
- Grid_png: "Scenes/Grid.png",
- Superb_png: "Objects/Superb.png",
- NumBack_png: "Objects/NumBack.png",
- NumBackSel_png: "Objects/NumBackSel.png",
- ScoreCycle_png: "Objects/ScoreCycle.png",
- Brain_0_png: "Objects/Brain_0.png",
- Brain_1_png: "Objects/Brain_1.png",
- Brain_2_png: "Objects/Brain_2.png",
- Brain_3_png: "Objects/Brain_3.png",
- Brain_4_png: "Objects/Brain_4.png",
- Brain_5_png: "Objects/Brain_5.png",
- Brain_6_png: "Objects/Brain_6.png",
- Brain_7_png: "Objects/Dog.png"
- },
- res_sound = {},
- res_obj = {
- Object_png: "Objects/Objects.png",
- Object_plist: "Objects/Objects.plist"
- },
- res_ani = {},
- res_font = {
- NumFont: "Objects/NumFont.fnt",
- NumFont_png: "Objects/NumFont.png"
- },
- g_resources = [res_img.WelcomeBG_jpg, res_img.GoBtn_png, res_img.GoBtnS_png, res_img.RefreshBtnN_png, res_img.RefreshBtnS_png, res_img.ShareBtnN_png, res_img.ShareBtnS_png, res_img.TimeBar_png, res_img.TimeBarBtm_png, res_img.GameBG_jpg, res_img.PauseBG_jpg, res_img.Grid_png, res_img.Superb_png, res_img.NumBack_png, res_img.NumBackSel_png, res_img.ScoreCycle_png, res_img.Brain_0_png, res_img.Brain_1_png, res_img.Brain_2_png, res_img.Brain_3_png, res_img.Brain_4_png, res_img.Brain_5_png, res_img.Brain_6_png, res_img.Brain_7_png, res_obj.Object_plist, res_obj.Object_png, res_font.NumFont, res_font.NumFont_png];
- var WelcomeLayer = cc.Layer.extend({
- sprite: null,
- ctor: function () {
- this._super()
- },
- init: function () {
- this._super();
- var a = cc.director.getWinSize();
- cc.p(a.width / 2, a.height / 2);
- this.sprite = cc.Sprite.create(res_img.WelcomeBG_jpg);
- this.sprite.setAnchorPoint(0.5, 0.5);
- this.sprite.setPosition(a.width / 2, a.height / 2);
- this.sprite.setScale(a.height / this.sprite.getContentSize().height);
- this.addChild(this.sprite, 0);
- this_layer = this;
- cc.eventManager.addListener({
- prevTouchId: -1,
- event: cc.EventListener.TOUCH_ALL_AT_ONCE,
- swallowTouches: !0,
- onTouchesBegan: function (a, c) { },
- onTouchesMoved: function (a, c) { },
- onTouchesEnded: function (a, c) {
- this_layer.onStart()
- }
- },
- this)
- },
- onStart: function () {
- var a = new GameScene;
- cc.director.runScene(a)
- },
- onHelp: function () {
- cc.log("Help")
- }
- }),
- WelcomeScene = cc.Scene.extend({
- onEnter: function () {
- this._super();
- var a = new WelcomeLayer;
- this.addChild(a);
- a.init()
- }
- });
- var GameScene = cc.Scene.extend({
- onEnter: function () {
- this._super();
- var a = new GameLayer;
- this.addChild(a)
- }
- }),
- GameLayer = cc.Layer.extend({
- countTotal: 0,
- stepTime: 0,
- timeBar: null,
- numGrid: null,
- gameBGSp: null,
- scoreCycle: null,
- targetNum: 10,
- winSize: null,
- refresh: 1,
- lastTag: 0,
- specialTimeTotal: 0,
- specialScoreTotal: 0,
- scoreCurrent: 0,
- tmpScore: 0,
- fontSize: 0,
- tmp: 0,
- batchNode: null,
- selNumAccumulated: 0,
- selectedNum: 0,
- selectedNumArray: null,
- dropNumArray: null,
- numMatrix: null,
- array: null,
- hintArray: null,
- drawLineLayer: null,
- scoreLabel: null,
- lastTouchLocation: null,
- currentTouchLocation: null,
- ctor: function (a) {
- this._super();
- this.tmp = a;
- var b = this;
- cc.eventManager.addCustomListener("NumSelected",
- function (a) {
- a = a._userData;
- if (a.Status) b.selectedNumArray.push({
- Num: a.Num,
- Tag: a.Tag
- });
- else {
- var d = 0,
- e;
- for (e in b.selectedNumArray) {
- if (b.selectedNumArray[e].Tag == a.Tag) {
- b.selectedNumArray.splice(d, 1);
- break
- }
- d++
- }
- }
- });
- this.init()
- },
- init: function () {
- this._super();
- this.numMatrix = [];
- this.selectedNumArray = [];
- this.dropNumArray = [];
- this.hintArray = [];
- for (var a = 0; a <= NJ.Matrix; a++) {
- this.numMatrix[a] = [];
- for (var b = 0; b <= NJ.Matrix; b++) this.numMatrix[a][b] = 0
- }
- this.winSize = cc.director.getWinSize();
- cc.spriteFrameCache.addSpriteFrames(res_obj.Object_plist);
- cc.textureCache.addImage(res_img.NumBack_png);
- cc.textureCache.addImage(res_img.NumBackSel_png);
- this.gameBGSp = cc.Sprite.create(res_img.GameBG_jpg);
- this.gameBGSp.setAnchorPoint(0.5, 0.5);
- this.gameBGSp.setPosition(this.winSize.width / 2, this.winSize.height / 2);
- this.gameBGSp.setScale(this.winSize.height / this.gameBGSp.getContentSize().height);
- this.addChild(this.gameBGSp, 0);
- this.numGrid = new cc.Sprite(res_img.Grid_png);
- this.numGrid.setPosition(this.winSize.width / 2, this.winSize.height / 2);
- this.addChild(this.numGrid, 1, NJ.Tags.GridTag);
- this.targetNum = parseInt(Math.random() * NJ.Difficulty + 5);
- this.scoreCycle = new cc.Sprite("#ScoreCycle.png");
- a = this.scoreCycle.getTextureRect();
- this.scoreCycle.setPosition(a.width / 2 * 1.2, this.winSize.height - a.height / 2 * 1.2);
- this.addChild(this.scoreCycle, 10);
- b = cc.repeatForever(cc.rotateBy(1, 60));
- this.scoreCycle.runAction(b);
- this.fontSize = parseInt(25 * a.width / 130);
- a = this.scoreCycle.getPosition();
- this.scoreLabel = new cc.LabelTTF("0", "Helvetica", this.fontSize);
- this.scoreLabel.setPosition(a.x, a.y);
- this.addChild(this.scoreLabel, 10);
- a = new cc.LabelTTF("" + this.targetNum, "Helvetica", parseInt(1.6 * this.fontSize));
- a.setPosition(0.9 * this.winSize.width, 0.87 * this.winSize.height);
- this.addChild(a);
- a = new cc.Sprite("#TimeBarBtm.png");
- a.setPosition(this.winSize.width - a.getTextureRect().width / 2, this.winSize.height - a.getTextureRect().height);
- this.addChild(a, 10);
- b = new cc.Sprite("#TimeBar.png");
- this.timeBar = new cc.ProgressTimer(b);
- this.timeBar.setType(cc.ProgressTimer.TYPE_BAR);
- this.timeBar.setMidpoint(cc.p(0, 1));
- this.timeBar.setBarChangeRate(cc.p(1, 0));
- this.timeBar.setPercentage(100);
- this.timeBar.setPosition(a.getPosition().x, a.getPosition().y);
- this.addChild(this.timeBar, 10);
- this.addMenus();
- this.initNums();
- this.makeNumMatrix();
- this.scheduleUpdate()
- },
- initNums: function () {
- for (var a = NJ.Tags.NumTag, b = 0; b < NJ.Matrix; b++) for (var c = 0; c < NJ.Matrix; c++) this.makeNewNumSp(a, b, c, null),
- a++
- },
- makeNewNumSp: function (a, b, c, d) {
- d = 0 != parseInt(4 * Math.random()) ? parseInt(Math.random() * (this.targetNum - 1)) : parseInt(this.targetNum + 1 + 5 * Math.random());
- d = new NumSprite(d + 1, a);
- this.numGrid.addChild(d, b + c, a);
- d.setPosition(0.5 * NJ.Adjust + c * NJ.Adjust, 0.5 * NJ.Adjust + NJ.Matrix * NJ.Adjust + b * NJ.Adjust);
- a = new cc.MoveBy(0.1 * b, 0, -b * NJ.Adjust);
- c = new cc.CallFunc(this.setVis, d);
- b = new cc.MoveBy(0.1 * (NJ.Matrix - b), cc.p(0, (b - NJ.Matrix) * NJ.Adjust));
- b = new cc.Sequence(a, c, b);
- d.runAction(b)
- },
- addMenus: function () {
- var a = new cc.MenuItemImage(res_img.GoBtn_png, res_img.GoBtnS_png, this.onGo, this),
- b = (new cc.Sprite(res_img.GoBtn_png)).getTextureRect();
- a.setPosition(this.winSize.width / 2 - b.width, b.height - this.winSize.height / 2);
- a = new cc.Menu(a);
- this.addChild(a, 1)
- },
- onGo: function () {
- var a = 0,
- b = 0,
- c;
- for (c in this.selectedNumArray) a += parseInt(this.selectedNumArray[c].Num);
- var d = this.selectedNumArray.length;
- if (0 < d) if (b = d * d + d * this.targetNum, 0 == a % this.targetNum) {
- for (c in this.selectedNumArray) {
- var e = this.numGrid.getChildByTag(this.selectedNumArray[c].Tag);
- if (e) {
- e.setTag(-1);
- var f = this.scoreLabel.getPosition(),
- f = 800 <= this.winSize.height ? cc.sequence(cc.spawn(cc.moveTo(0.7, cc.p(f.x, f.y - (this.winSize.height / 2 - NJ.Grid / 2))), cc.rotateBy(0.5, Math.random() % 2 ? 360 : -360).repeat(7), cc.fadeOut(0.5), cc.scaleTo(0.5, 0.5)), cc.callFunc(this.rmNumSp, e)) : cc.sequence(cc.scaleTo(0.3, 0), cc.callFunc(this.rmNumSp, e));
- e.runAction(f)
- }
- }
- this.countTotal += this.selectedNumArray.length;
- d >= NJ.Matrix * (NJ.Matrix - 1) && this.screenShake();
- this.bonusShow(a, b, d);
- this.superbShow(d);
- this.selectedNumArray.length = 0;
- this.scoreCurrent += a + b;
- this.dropAni(this.selectedNumArray.length)
- } else this.countTotal -= this.selectedNumArray.length,
- this.scoreCurrent -= a + b,
- this.bonusShow(-a, -b)
- },
- vanishEff: function (a, b) {
- var c = new cc.ParticleSystem(res_eff.Eff_vanish);
- c.autoRemoveOnFinish = !0;
- c.setPosition(b);
- a.addChild(c)
- },
- rmLabel: function (a) {
- this.removeFromParent(a, !0)
- },
- setVis: function (a) {
- a.setVisible(!0)
- },
- rmNumSp: function (a) {
- this.removeFromParent(a, !0)
- },
- screenShake: function () {
- var a = cc.director.getRunningScene(),
- b = cc.moveBy(0.05, cc.p(5, 0)),
- c = cc.moveBy(0.05, cc.p(-5, 0)),
- d = cc.moveBy(0.05, cc.p(0, 5)),
- e = cc.moveBy(0.05, cc.p(0, -5)),
- b = cc.sequence(b, c, d, e),
- b = cc.repeat(b, 6);
- a.runAction(b)
- },
- superbShow: function (a) {
- if (a == NJ.Matrix * NJ.Matrix) {
- a = new cc.Sprite("#Superb.png");
- a.setPosition(this.winSize.width / 2, this.winSize.height / 2);
- this.addChild(a, 100);
- var b = cc.scaleTo(0.3, 1);
- a.setScale(0);
- b = cc.sequence(cc.delayTime(0.25), cc.scaleTo(0, 6), b.easing(cc.easeBounceOut()), cc.fadeOut(0.9), cc.callFunc(this.rmLabel, a));
- a.runAction(b)
- }
- },
- bonusShow: function (a, b, c) {
- var d = null,
- d = 0 < b ? "+" : "-",
- e = new cc.LabelTTF(c + "\u8fde\u6d88! " + d + Math.abs(b), "Helvetica", parseInt(1.2 * this.fontSize));
- b = new cc.LabelTTF(d + Math.abs(a + b), "Helvetica", parseInt(1.9 * this.fontSize));
- e.color = cc.color.YELLOW;
- b.color = cc.color.WHITE;
- e.setPosition(0.6 * this.winSize.width, 0.87 * this.winSize.height);
- b.setPosition(this.winSize.width / 2, this.winSize.height / 2);
- 0 < a && this.addChild(e, 100);
- e.setVisible(!1);
- this.addChild(b, 100);
- var f = cc.sequence(cc.blink(2, 2), cc.fadeOut(1), cc.callFunc(this.rmLabel, e));
- a = cc.sequence(cc.spawn(cc.moveBy(1.3, cc.p(0, 80)), cc.fadeOut(1.3)), cc.callFunc(this.rmLabel, b));
- b.runAction(a);
- b.runAction(cc.callFunc(function () {
- e.setVisible(!0);
- e.runAction(f)
- }))
- },
- dropAni: function (a) {
- var b = NJ.Tags.NumTag,
- c,
- d,
- e,
- f;
- for (a = 0; a < NJ.Matrix * NJ.Matrix; a++) {
- d = 0;
- c = b - NJ.Matrix;
- e = this.numGrid.getChildByTag(b);
- for (f = this.numGrid.getChildByTag(c) ; null == f && c >= NJ.Tags.NumTag && null != e;) e.tag = c,
- c = e.tag - NJ.Matrix,
- f = this.numGrid.getChildByTag(c),
- d++;
- null != e && (c = "" + e.tag, this.dropNumArray[c] = d);
- b++
- }
- for (a = 0; a < NJ.Matrix * NJ.Matrix; a++) c = a + NJ.Tags.NumTag + "",
- e = this.numGrid.getChildByTag(a + NJ.Tags.NumTag),
- null == e ? (e = parseInt(a / NJ.Matrix), b = parseInt(a % NJ.Matrix), this.makeNewNumSp(a + NJ.Tags.NumTag, e, b, null)) : (b = parseInt(this.dropNumArray[c]), b = new cc.MoveBy(0.2, cc.p(0, -parseInt(NJ.Adjust * b))), e.runAction(b));
- this.dropNumArray.length = 0
- },
- makeNumMatrix: function () {
- for (var a, b = NJ.Tags.NumTag, c = 1; c <= NJ.Matrix; c++) for (var d = 1; d <= NJ.Matrix; d++) a = this.numGrid.getChildByTag(b),
- a = a.getNum(),
- this.numMatrix[d][c] = {
- Num: a,
- Tag: b
- },
- b++
- },
- update: function (a) {
- var b = 0;
- this.tmpScore < this.scoreCurrent ? (b = parseInt((this.scoreCurrent - this.tmpScore) / 4), this.tmpScore += b) : this.tmpScore > this.scoreCurrent && (b = parseInt((this.tmpScore - this.scoreCurrent) / 4), this.tmpScore -= b);
- 0 == b && (this.tmpScore = this.scoreCurrent);
- this.scoreLabel.setString("" + this.tmpScore);
- this.stepTime += a;
- 1 <= this.stepTime && (0 < this.timeBar.percentage ? this.timeBar.setPercentage(this.timeBar.percentage - 1) : (this.endGame(), this.unscheduleUpdate()), this.stepTime = 0)
- },
- endGame: function () {
- var a = cc.color(0, 0, 0, 185),
- a = new PauseLayer(a, this.scoreCurrent, this.countTotal, this.targetNum);
- cc.eventManager.removeAllListeners();
- this.parent.addChild(a, 10)
- }
- });
- var NumSprite = cc.Sprite.extend({
- num: 0,
- tag: 0,
- spriteL: null,
- spriteR: null,
- spriteB: null,
- lastTouchLocation: null,
- currentTouchLocation: null,
- isSelected: 0,
- isTouched: 0,
- ctor: function (a, b) {
- this.num = a;
- this.tag = b;
- var c = this;
- cc.eventManager.addListener({
- prevTouchId: -1,
- event: cc.EventListener.TOUCH_ALL_AT_ONCE,
- swallowTouches: !1,
- onTouchesBegan: function (a, b) {
- var d = a[0];
- c.lastTouchLocation = d.getLocation();
- var e = cc.rect(0, 0, c._rect.width, c._rect.height);
- cc.rectContainsPoint(e, c.convertTouchToNodeSpace(d)) && (c.touchAni(), c.isTouched = 1, c.isSelected = !c.isSelected, c.isSelected ? c.setSpriteFrame("NumBackSel.png") : c.setSpriteFrame("NumBack.png"), c.disListener())
- },
- onTouchesMoved: function (a, b) {
- var d = a[0];
- c.currentTouchLocation = d.getLocation();
- var e = cc.rect(0, 0, c._rect.width, c._rect.height);
- cc.rectContainsPoint(e, c.convertTouchToNodeSpace(d)) ? c.isTouched || (c.isTouched = 1, c.isSelected = !c.isSelected, c.isSelected ? c.setSpriteFrame("NumBackSel.png") : c.setSpriteFrame("NumBack.png"), c.disListener(), c.touchAni()) : c.isTouched = 0
- },
- onTouchesEnded: function (a, b) {
- c.isTouched = 0
- }
- },
- this);
- this._super("#NumBack.png");
- this.spriteB = cc.Sprite.create(res_img.NumBack_png);
- var d = this.spriteB.getContentSize(),
- e = parseInt(5 * d.width / 8),
- e = new cc.LabelBMFont("" + this.num, res_font.NumFont, e, cc.TEXT_ALIGNMENT_LEFT);
- e.setPosition(d.width / 2, d.height / 2);
- this.addChild(e, 1)
- },
- rect: function (a) {
- return cc.rect(-a.width / 2, -a.height / 2, a.width, a.height)
- },
- touchAni: function () {
- var a = new cc.ScaleTo(0.1, 1.3),
- b = new cc.ScaleTo(0.1, 1),
- a = new cc.Sequence(a, b);
- this.runAction(a)
- },
- init: function () { },
- numEffect: function (a) {
- a = new cc.ParticleSystem(res_eff.Eff_tmp);
- var b = this.getContentSize();
- a.setPosition(b.width / 2, b.height / 2);
- this.addChild(a, -1)
- },
- disListener: function () {
- cc.eventManager.dispatchCustomEvent("NumSelected", {
- Num: this.num,
- Status: this.isSelected,
- Tag: this.tag
- })
- },
- getNum: function () {
- return this.num
- },
- setNum: function (a) {
- this.num = a
- }
- });
- var DrawLines = cc.LayerColor.extend({
- POINT_NUM: 16,
- MIDDLE_POINT_R: 255,
- MIDDLE_POINT_G: 255,
- MIDDLE_POINT_B: 255,
- MIDDLE_POINT_A: 255,
- TOP_POINT_R: 255,
- TOP_POINT_G: 200,
- TOP_POINT_B: 0,
- TOP_POINT_A: 255,
- BOTTOM_POINT_R: 255,
- BOTTOM_POINT_G: 255,
- BOTTOM_POINT_B: 0,
- BOTTOM_POINT_A: 255,
- m_pointPath: null,
- m_pParticle: null,
- m_Index: 0,
- m_bTouched: !1,
- m_touchBeganPoint: null,
- m_touchEndPoint: null,
- m_timer: 0,
- ctor: function () {
- this._super();
- this.init();
- var a = this;
- cc.eventManager.addListener({
- event: cc.EventListener.TOUCH_ALL_AT_ONCE,
- swallowTouches: !0,
- onTouchesBegan: function (a, c) { },
- onTouchesMoved: function (b, c) {
- a.m_touchEndPoint = b[0].getLocation();
- var d = new cc.ParticleSystem(res_eff.Eff_line);
- d.setPosition(a.m_touchEndPoint);
- a.addChild(d, 10)
- },
- onTouchesEnded: function (b, c) {
- a.removeAllChildrenWithCleanup(!0)
- }
- },
- this)
- },
- init: function () {
- this.m_pParticle = new cc.ParticleSystem(res_eff.Eff_line);
- this.addChild(this.m_pParticle, 10);
- this.m_pParticle.setVisible(!1);
- this.m_touchBeganPoint = this.m_touchEndPoint = cc.p(0, 0)
- },
- draw: function () { }
- });
- var NJ = NJ || {};
- NJ.Grid = 480;
- NJ.Matrix = 5;
- NJ.Adjust = 96;
- NJ.Difficulty = 6;
- NJ.Tags = {
- NumTag: 100,
- GridTag: 1001,
- LabelTag: 1002
- };
- NJ.ScoreLevels = {
- Level_0: ["\u592a\u60e8\u4e86\uff0c", " \u300c\u7c97\u7cd9\u5927\u8111\u300d", "\u7070\u8272"],
- Level_1: ["\u51d1\u5408\u5427\uff0c", " \u300c\u666e\u901a\u5927\u8111\u300d", "\u7eff\u8272"],
- Level_2: ["\u8fd8\u4e0d\u9519\uff0c", " \u300c\u4f18\u79c0\u5927\u8111\u300d", "\u84dd\u8272"],
- Level_3: ["\u5f88\u817b\u5bb3\uff0c", " \u300c\u7cbe\u82f1\u5927\u8111\u300d", "\u7d2b\u8272"],
- Level_4: ["\u725bX\u554a~", " \u300c\u6770\u51fa\u5927\u8111\u300d\uff01", "\u6a59\u8272"],
- Level_5: ["\u540a\u7206\u4e86\uff01", " \u300c\u53f2\u8bd7\u5927\u8111\u300d\uff01\uff01", "\u7ea2\u8272"],
- Level_6: ["OMG\uff01", " \u300c\u4f20\u5947\u5927\u8111\u300d\uff01\uff01\uff01", "\u91d1\u8272"],
- Level_7: ["\u6211\u53bb\uff01", " \u300c\u4e71\u4e22\u4e3b\u4eba\u624b\u673a\u7684\u5c0f\u72d7\u300d\uff01", ""]
- };
- var WeixinApi = function () {
- return {
- version: "2.5",
- enableDebugMode: function (a) {
- window.onerror = function (b, c, d, e) {
- if ("function" === typeof a) a({
- message: b,
- script: c,
- line: d,
- column: e
- });
- else {
- var f = [];
- f.push("\u989d\uff0c\u4ee3\u7801\u6709\u9519\u3002\u3002\u3002");
- f.push("\n\u9519\u8bef\u4fe1\u606f\uff1a", b);
- f.push("\n\u51fa\u9519\u6587\u4ef6\uff1a", c);
- f.push("\n\u51fa\u9519\u4f4d\u7f6e\uff1a", d + "\u884c\uff0c" + e + "\u5217");
- alert(f.join(""))
- }
- }
- },
- ready: function (a) {
- if (a && "function" == typeof a) {
- var b = this,
- c = function () {
- a(b)
- };
- "undefined" == typeof window.WeixinJSBridge ? document.addEventListener ? document.addEventListener("WeixinJSBridgeReady", c, !1) : document.attachEvent && (document.attachEvent("WeixinJSBridgeReady", c), document.attachEvent("onWeixinJSBridgeReady", c)) : c()
- }
- },
- shareToTimeline: function (a, b) {
- b = b || {};
- },
- shareToWeibo: function (a, b) {
- b = b || {};
- },
- shareToFriend: function (a, b) {
- b = b || {};
- },
- generalShare: function (a, b) {
- b = b || {};
- },
- addContact: function (a, b) {
- b = b || {};
- },
- showOptionMenu: function () {
- },
- hideOptionMenu: function () {
- },
- showToolbar: function () {
- },
- hideToolbar: function () {
- },
- getNetworkType: function (a) {
- },
- imagePreview: function (a, b) {
- },
- closeWindow: function (a) {
- a = a || {};
- },
- openInWeixin: function () {
- return /MicroMessenger/i.test(navigator.userAgent)
- },
- getInstallState: function (a, b) {
- b = b || {};
- },
- scanQRCode: function (a) {
- a = a || {};
- }
- }
- }();
- var PauseLayer = cc.LayerColor.extend({
- backSp: null,
- winSize: null,
- scoLevel: null,
- score: 0,
- count: 0,
- target: 0,
- ctor: function (a, b, c, d) {
- this._super(a);
- this.score = b;
- this.count = c;
- this.target = d;
- this.init()
- },
- init: function () {
- this.winSize = cc.director.getWinSize();
- this.backSp = new cc.Sprite(res_img.PauseBG_jpg);
- this.backSp.setPosition(this.winSize.width / 2, this.winSize.height / 2);
- this.addChild(this.backSp, 0);
- this.backSp.tag = 100;
- this.backSp.setScale(0);
- var a = this.backSp.getContentSize(),
- b = this.count * this.target + parseInt(this.score / 2),
- c = "",
- d = 0;
- 600 >= b && 0 < b ? (d = 0, c = "\u6b8b\u6b21\u54c1\u7684") : 600 < b && 1E3 >= b ? (d = 1, c = "\u4e94\u54c1\u7684") : 1E3 < b && 1500 >= b ? (d = 2, c = "\u56db\u54c1\u7684") : 1500 < b && 2200 >= b ? (d = 3, c = "\u4e09\u54c1\u7684") : 2200 < b && 3E3 >= b ? (d = 4, c = "\u4e8c\u54c1\u7684") : 3E3 < b && 3300 >= b ? (d = 5, c = "\u4e00\u54c1\u7684") : 3300 < b ? (d = 6, c = "\u6781\u54c1\u7684") : 0 >= b && (d = 7);
- var e = "Level_" + d,
- f = new cc.LabelTTF(NJ.ScoreLevels[e][0] + "\n\u4f60\u83b7\u5f97\u4e86\uff1a" + this.score + "\u5206,\n\u8ba1\u7b97\u80fd\u529b\uff1a" + b + ", \n\u5c5e\u4e8e\uff1a" + NJ.ScoreLevels[e][1], "Helvetica", parseInt(a.width / 16));
- f.textAlign = cc.TEXT_ALIGNMENT_CENTER;
- f.boundingWidth = a.width;
- f.setPosition(a.width / 2, 3 * a.height / 4);
- this.backSp.addChild(f, 1);
- var d = res_img["Brain_" + d + "_png"],
- g = new cc.Sprite(d),
- h = g.getTextureRect(),
- k = f.getContentSize();
- g.setPosition(f.getPosition().x, f.getPosition().y - (k.height / 2 + h.width / 2));
- g.setScale(0.8);
- this.backSp.addChild(g, 1);
- updateShare(NJ.ScoreLevels[e][1],this.score);
- Play68.setRankingScoreDesc(this.score);
- b = new cc.MenuItemImage(res_img.RefreshBtnN_png, res_img.RefreshBtnS_png, this.refresh, this);
- c = new cc.MenuItemImage(res_img.ShareBtnN_png, res_img.ShareBtnS_png, this.share, this);
- e = (new cc.Sprite(res_img.RefreshBtnN_png)).getTextureRect();
- b.setPosition(a.width / 2 - e.width / 2, -a.height / 11 * 7);
- c.setPosition(-b.getPosition().x, b.getPosition().y);
- a = new cc.Menu(b, c);
- this.backSp.addChild(a, 1);
- a = cc.sequence(cc.spawn(cc.scaleTo(0.5, 1), cc.jumpBy(0.5, cc.p(0, 0), this.winSize.height / 3, 1)), cc.jumpBy(0.5, cc.p(0, 0), this.winSize.height / 20, 1));
- this.backSp.runAction(a)
- },
- refresh: function () {
- var a = new GameScene;
- cc.director.runScene(a)
- },
- share: function () {
- var a = new ShareGuideLayer;
- this.parent.addChild(a, 100)
- }
- });
- var ShareGuideLayer = cc.LayerColor.extend({
- ctor: function () {
- this._super(cc.color(0, 0, 0, 220));
- var a = new cc.LabelTTF('\u70b9\u51fb\"+\"\u83dc\u5355\n"\u5206\u4eab\u5230\u670b\u53cb\u5708"\n\u68c0\u6d4b\u4e0b\u670b\u53cb\u4eec\u4e0d\u582a\u7684\u5927\u8111 (\u2192_\u2192)', "\u5b8b\u4f53", 30, cc.size(0.7 * cc.winSize.width, 253), cc.TEXT_ALIGNMENT_CENTER),
- b = cc.director.getWinSize();
- a.setPosition(b.width / 2, b.height / 2);
- this.addChild(a)
- },
- onEnter: function () {
- this._super();
- var a = this;
- cc.eventManager.addListener({
- event: cc.EventListener.TOUCH_ONE_BY_ONE,
- onTouchBegan: function (b, c) {
- a.removeFromParent()
- }
- },
- this)
- }
- });
- logoData = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAM4AAADwCAYAAABIb1sZAAAACXBIWXMAAAsTAAALEwEAmpwYAABD1WlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTQgNzkuMTUxNDgxLCAyMDEzLzAzLzEzLTEyOjA5OjE1ICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpjcnM9Imh0dHA6Ly9ucy5hZG9iZS5jb20vY2FtZXJhLXJhdy1zZXR0aW5ncy8xLjAvIgogICAgICAgICAgICB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDxjcnM6QWxyZWFkeUFwcGxpZWQ+VHJ1ZTwvY3JzOkFscmVhZHlBcHBsaWVkPgogICAgICAgICA8cGhvdG9zaG9wOkNvbG9yTW9kZT4zPC9waG90b3Nob3A6Q29sb3JNb2RlPgogICAgICAgICA8cGhvdG9zaG9wOkRvY3VtZW50QW5jZXN0b3JzPgogICAgICAgICAgICA8cmRmOkJhZz4KICAgICAgICAgICAgICAgPHJkZjpsaT54bXAuZGlkOjc1MDQ5MjY2RUExREUzMTE4MTE0QTc3RUM3QThCMEYzPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGk+eG1wLmRpZDo3RDE5OTdCOUREMURFMzExODExNEE3N0VDN0E4QjBGMzwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpCYWc+CiAgICAgICAgIDwvcGhvdG9zaG9wOkRvY3VtZW50QW5jZXN0b3JzPgogICAgICAgICA8eG1wOkNyZWF0ZURhdGU+MjAxNC0wNC0xMlQxODo1MTo0OCswODowMDwveG1wOkNyZWF0ZURhdGU+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE1LTAxLTIxVDE2OjIzOjAxKzA4OjAwPC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNS0wMS0yMVQxNjoyMzowMSswODowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+ZGVyaXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6cGFyYW1ldGVycz5jb252ZXJ0ZWQgZnJvbSBpbWFnZS9qcGVnIHRvIGFwcGxpY2F0aW9uL3ZuZC5hZG9iZS5waG90b3Nob3A8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjBFMzMzOTEyMzJDMkUzMTFCNzYzRjAwMkQwQUEzQ0FFPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE0LTA0LTEyVDE5OjA2OjUzKzA4OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3M8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjViMTE4M2U2LTkyYmYtOTc0Zi04OGNmLTQwYTBiYmIyMTRhYzwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNS0wMS0yMVQxNjoyMzowMSswODowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNvbnZlcnRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6cGFyYW1ldGVycz5mcm9tIGFwcGxpY2F0aW9uL3ZuZC5hZG9iZS5waG90b3Nob3AgdG8gaW1hZ2UvcG5nPC9zdEV2dDpwYXJhbWV0ZXJzPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+ZGVyaXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6cGFyYW1ldGVycz5jb252ZXJ0ZWQgZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZzwvc3RFdnQ6cGFyYW1ldGVycz4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6ZDVjMDg0NWUtZjI4NS00ZjRiLWEwZTQtMzY4NGYzZjkyMjdiPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE1LTAxLTIxVDE2OjIzOjAxKzA4OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6U2VxPgogICAgICAgICA8L3htcE1NOkhpc3Rvcnk+CiAgICAgICAgIDx4bXBNTTpEZXJpdmVkRnJvbSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgIDxzdFJlZjppbnN0YW5jZUlEPnhtcC5paWQ6NWIxMTgzZTYtOTJiZi05NzRmLTg4Y2YtNDBhMGJiYjIxNGFjPC9zdFJlZjppbnN0YW5jZUlEPgogICAgICAgICAgICA8c3RSZWY6ZG9jdW1lbnRJRD5hZG9iZTpkb2NpZDpwaG90b3Nob3A6ZWY2NDM2OWItNDc3YS0xMWU0LWJlZDgtZTQxYWE1YTcxOWYzPC9zdFJlZjpkb2N1bWVudElEPgogICAgICAgICAgICA8c3RSZWY6b3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6MEUzMzM5MTIzMkMyRTMxMUI3NjNGMDAyRDBBQTNDQUU8L3N0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAgPC94bXBNTTpEZXJpdmVkRnJvbT4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmVmNjQzNjliLTQ3N2EtMTFlNC1iZWQ4LWU0MWFhNWE3MTlmMzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkluc3RhbmNlSUQ+eG1wLmlpZDpkNWMwODQ1ZS1mMjg1LTRmNGItYTBlNC0zNjg0ZjNmOTIyN2I8L3htcE1NOkluc3RhbmNlSUQ+CiAgICAgICAgIDx4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+eG1wLmRpZDowRTMzMzkxMjMyQzJFMzExQjc2M0YwMDJEMEFBM0NBRTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8dGlmZjpJbWFnZVdpZHRoPjE2MDwvdGlmZjpJbWFnZVdpZHRoPgogICAgICAgICA8dGlmZjpJbWFnZUxlbmd0aD4xNzI8L3RpZmY6SW1hZ2VMZW5ndGg+CiAgICAgICAgIDx0aWZmOkJpdHNQZXJTYW1wbGU+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpPjg8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaT44PC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGk+ODwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwvdGlmZjpCaXRzUGVyU2FtcGxlPgogICAgICAgICA8dGlmZjpQaG90b21ldHJpY0ludGVycHJldGF0aW9uPjI8L3RpZmY6UGhvdG9tZXRyaWNJbnRlcnByZXRhdGlvbj4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6U2FtcGxlc1BlclBpeGVsPjM8L3RpZmY6U2FtcGxlc1BlclBpeGVsPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6RXhpZlZlcnNpb24+MDIyMTwvZXhpZjpFeGlmVmVyc2lvbj4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MjA2PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjI0MDwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+Mo8UAQAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAynUlEQVR42uydeXgUZZ7Hv9VHujvpXCQkciQhJJySQw4VkFMEHEXUcZWdBQYQz8UBddFdWVccrxVU8ER8mMkwMDg6rsIwKoIMKgRQzoQzJCEXITdJJ510d/qo/SNdTXXVW9XVSSeQ7vf7PPVA+qiq7n4/7+94f+/7MizLgoqKyj+p6FdARUXBoaKi4FBRUXCoqCg4VFQUHCoqKgoOFRUFh4qKgkNFRcGhoqLgUFFRUXCoqCg4VFQUHCoqCg4VFQWHioqKgkNFRcGhoqLgUFFRcKioKDhUVFQUHCoqCg4VFQWHioqCQ0VFwaGioqLgUFFRcKioKDhUVBQcKioKDhUVFQWHioqCQ0VFwaGiouBQUVFwqKioZKUJtg/EMEyvvfe3frx/KgBsWL4fxSfrfL281H1cdwqFDZmZYPuQvQicQbfOSc2+ff6w7NgbwucCyOY/WXyyHrtzzvkD0I8ATrqPUgoOBSdYwIkBMBXA3PCosKn3/HvGoLGzU3y+6bM3juHIrjJ/r1UKYDuAzW6QKDgUnF4FTgyAewHMdf8LADAYtXjhs9kwGLWKTvL6Q7twpbqts/fAQfRuT1miUACHJge6R9kAcgCUuP+9l/+kxWzH/i+KFJ9s5uIRXXIJAaxw38s+4b1QUXCuB011N84TABa5LQ5R+/9WhMtFJkUnHTs7RbF1UnB/X7khWkR/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";
- sceneLoad = cc.Scene.extend({
- _interval: null,
- _label: null,
- _className: "LoaderScene",
- init: function () {
- var a = this,
- b = 200,
- c = a._bgLayer = new cc.LayerColor(cc.color(4, 5, 23, 255));
- c.setPosition(cc.visibleRect.bottomLeft);
- a.addChild(c, 0);
- var d = 24,
- e = -b / 2 + 100;
- cc._loaderImage && (cc.loader.loadImg(logoData, {
- isCrossOrigin: !1
- },
- function (c, d) {
- b = d.height;
- a._initStage(d, cc.visibleRect.center)
- }), d = 14, e = -b / 2 - 10);
- d = a._label = cc.LabelTTF.create("\u6570\u4e0d\u72ec\u52a0\u8f7d\u4e2d... 0%", "Arial", d);
- d.setPosition(cc.pAdd(cc.visibleRect.center, cc.p(0, e)));
- d.setColor(cc.color(180, 180, 180));
- c.addChild(this._label, 10);
- return !0
- },
- _initStage: function (a, b) {
- var c = this._texture2d = new cc.Texture2D;
- c.initWithElement(a);
- c.handleLoadedTexture();
- c = this._logo = cc.Sprite.create(c);
- c.setScale(cc.contentScaleFactor());
- c.x = b.x;
- c.y = b.y;
- this._bgLayer.addChild(c, 10)
- },
- onEnter: function () {
- cc.Node.prototype.onEnter.call(this);
- this.schedule(this._startLoading, 0.3)
- },
- onExit: function () {
- cc.Node.prototype.onExit.call(this);
- this._label.setString("\u6570\u4e0d\u72ec\u52a0\u8f7d\u4e2d... 0%")
- },
- initWithResources: function (a, b) {
- cc.isString(a) && (a = [a]);
- this.resources = a || [];
- this.cb = b
- },
- _startLoading: function () {
- var a = this;
- a.unschedule(a._startLoading);
- cc.loader.load(a.resources,
- function (b, c, d) {
- b = Math.min(d / c * 100 | 0, 100);
- a._label.setString("\u6570\u4e0d\u72ec\u52a0\u8f7d\u4e2d... " + b + "%")
- },
- function () {
- a.cb && a.cb()
- })
- }
- });
- sceneLoad.preload = function (a, b) {
- var c = cc;
- c.sceneLoad || (c.sceneLoad = new sceneLoad, c.sceneLoad.init());
- c.sceneLoad.initWithResources(a, b);
- cc.director.runScene(c.sceneLoad);
- return c.sceneLoad
- };
- cc.game.onStart = function () {
- var a = cc.size(480, 800);
- cc.loader.resPath = "res";
- cc.view.setDesignResolutionSize(a.width, a.height, cc.ResolutionPolicy.SHOW_ALL);
- cc.view.resizeWithBrowserSize(!0);
- cc.view.canSetContentScaleFactor("RW/DW");
- sceneLoad.preload(g_resources,
- function () {
- cc.director.runScene(new WelcomeScene)
- },
- this)
- };
- cc.game.run();
|