Hao Wu We want your feedback
Posts 149
Location Xiamen, Sydney
Added by Hao Wu 12 months ago

Hi guys

After the alpha version of Cocos2d-html5 is launched, we have received many feedback. It quickly came to our attention that we need to "prettify" our API :),

We had a video chat with Ricardo Quesada and Rolando Abarca discussed these cases, the conclusion is that we had a list to choice, and need your feedback to see what is preferred by most developers.

We need to decide these following:

Namespace

1. cc
  • sample: var monster = new cc.Sprite;
  • pros: short, easy to type, maybe good for performance
  • cons: What's cc stands for? conflict with existing popular js framework?
2. CC (capital letters)
  • same as above
3. cocos2d
  • sample: var monster = new cocos2d.Sprite;
  • pros: full meaning
  • cons: very long to type
4. cocos
  • sample: var monster = new cocos.Sprite;
  • pros: the in betweener of cc and cocos2d
  • cons: the same to pros

Property access

1. monster.position.x = 100; var pos = monster.position;
  • pros: easy to use, very readable
  • cons: The setter is harder to rewrite, cannot chain methods like jQuery
  • Ref:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/defineProperty
2. monster.position(100,200); var pos = monster.position();
  • pros: jQuery Style, use same function for both set and get
  • cons: might affect performance, because it have to check if there is any parameters passed in
3. monster.setPosition(100,200); var pos = monster.getPosition();
  • pros: Explicit use of set and get, easy to rewrite
  • cons: more characters to type

Object Constructor

Note: chained setter functions will be decided in question 2

1. var a = new Sprite(); a.setFile(...).setPosition(...); OR var a = (new Sprite()).setFile(...).setPosition(...);
  • pros: classic object creation, chaining is possible when you put new in bracket
  • cons: 2 lines of code if not chained, very ugly chain, fails if you forget bracket with new
2. var a = Sprite().setFile(...).setPosition(...);
  • pros: easy chaining, 1 line, nice to the eye
  • cons: no "new" keyword, you could not tell this line creates an object
3. var a = Sprite.spriteWithFile(...).setPosition(...);
  • pros: easy chain, same as Cocos2d-x
  • cons: no "new" keyword, looks C++ ish

please participate this online survey here:

Thank you!

bob dos RE: We want your feedback
Posts 34
Added by bob dos 12 months ago

Done

Matteo Bucchi RE: We want your feedback
Posts 13
Added by Matteo Bucchi 7 months ago

Hello!
I'm wondering if there's a "perspective method" on a sprite. If not, I suggest to add it. I'm talking about something like this:
http://docs.gimp.org/2.8/en/gimp-tool-perspective.html

(I also suggest to get ideas for manipulation methods on a sprite looking at the GIMP tools!)

Roger Clark RE: We want your feedback
Posts 71
Location Melbourne. Australia
Added by Roger Clark 5 months ago

Is this sticky now out of date and does it need to be removed?

As far as I was aware the decisions on this have now been taken an implemented.

If so perhaps this sticky should be removed.

Freelance Web, iPhone and iPad developer / producer. Melbourne Australia
www.rogerclark.net

Rui Luo RE: We want your feedback
Posts 2
Added by Rui Luo 4 months ago

done.


(1-4/4)