<?xml version="1.0"?>
<News hasArchived="true" page="8929" pageCount="10799" pageSize="10" timestamp="Tue, 08 Sep 2026 23:49:19 -0400" url="https://my3.my.umbc.edu/posts.xml?mode=activity&amp;page=8929&amp;range=30">
<NewsItem contentIssues="true" id="27761" important="false" status="posted" url="https://my3.my.umbc.edu/posts/27761">
<Title>JavaScript Tours and Pull Quotes | Treehouse Show Ep 35</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>In this episode of The Treehouse Show, Nick Pettit (@nickrp) and Jason Seifer (@jseifer) talk about JavaScript Tours and Pull Quotes.</p>
    <p></p>
    <div class="embed-container"><iframe src="http://www.youtube.com/embed/1MqqGiTs_ms" frameborder="0" webkitallowfullscreen="webkitAllowFullScreen" mozallowfullscreen="mozallowfullscreen" allowfullscreen="allowFullScreen">[Video]</iframe></div>
    <h2>Here are the links for the week:</h2>
    <p>Trip.js<br>
    <a href="http://eragonj.github.com/Trip.js/" rel="nofollow external" class="bo">http://eragonj.github.com/Trip.js/</a></p>
    <p>Pull Quotes with HTML5 and CSS — miekd<br>
    <a href="http://miekd.com/articles/pull-quotes-with-html5-and-css/" rel="nofollow external" class="bo">http://miekd.com/articles/pull-quotes-with-html5-and-css/</a></p>
    <p>jQuery Pin<br>
    <a href="http://webpop.github.com/jquery.pin/" rel="nofollow external" class="bo">http://webpop.github.com/jquery.pin/</a></p>
    <p>Using SVG | CSS-Tricks<br>
    <a href="http://css-tricks.com/using-svg/" rel="nofollow external" class="bo">http://css-tricks.com/using-svg/</a></p>
    <p>DevTools Extensions For Web App Developers<br>
    <a href="http://addyosmani.com/blog/devtools-extensions-for-webapp-developers/" rel="nofollow external" class="bo">http://addyosmani.com/blog/devtools-extensions-for-webapp-developers/</a></p>
    <p>Almost Flat UI<br>
    <a href="http://websymphony.net/almost-flat-ui/" rel="nofollow external" class="bo">http://websymphony.net/almost-flat-ui/</a></p>
    <p>Practical Tips from Top WordPress Pros<br>
    <a href="http://wp.smashingmagazine.com/2013/03/20/practical-tips-top-wordpress-pros/" rel="nofollow external" class="bo">http://wp.smashingmagazine.com/2013/03/20/practical-tips-top-wordpress-pros/</a></p>
    <p>Zurb Foundation 4<br>
    <a href="http://foundation.zurb.com/" rel="nofollow external" class="bo">http://foundation.zurb.com/</a></p>
    <p>The post <a href="http://blog.teamtreehouse.com/javascript-tours-and-pull-quotes-treehouse-show-ep-35" rel="nofollow external" class="bo">JavaScript Tours and Pull Quotes | Treehouse Show Ep 35</a> appeared first on <a href="http://blog.teamtreehouse.com" rel="nofollow external" class="bo">Treehouse Blog</a>.</p>
    </div>
]]>
</Body>
<Summary>In this episode of The Treehouse Show, Nick Pettit (@nickrp) and Jason Seifer (@jseifer) talk about JavaScript Tours and Pull Quotes.    [Video]    Here are the links for the week:   Trip.js...</Summary>
<Website>http://feedproxy.google.com/~r/teamtreehouse/~3/nv-QgjPhRX0/javascript-tours-and-pull-quotes-treehouse-show-ep-35</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/27761/guest@my.umbc.edu/d534afe3e549b2c2a5b9d20b458d8ea9/api/pixel</TrackingUrl>
<Tag>android</Tag>
<Tag>css</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>ios</Tag>
<Tag>javascript</Tag>
<Tag>javascript-tours</Tag>
<Tag>jquery-pin</Tag>
<Tag>make-a-website</Tag>
<Tag>pull-quotes</Tag>
<Tag>responsive</Tag>
<Tag>svg</Tag>
<Tag>treehouse-show</Tag>
<Tag>web</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 16 Apr 2013 10:02:21 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="27767" important="false" status="posted" url="https://my3.my.umbc.edu/posts/27767">
<Title>How to Amp Up Your Office Style on a Startup Budget</Title>
<Body>
<![CDATA[
    <div class="html-content">Even if your startup is the coolest in town, if it doesn't look the part, you may get misread or passed over. Consider these inexpensive, panache-boosting tips.</div>
]]>
</Body>
<Summary>Even if your startup is the coolest in town, if it doesn't look the part, you may get misread or passed over. Consider these inexpensive, panache-boosting tips.</Summary>
<Website>http://feedproxy.google.com/~r/YoungentrepreneurcomBlog/~3/ocW5yO6UzwY/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/27767/guest@my.umbc.edu/1b3486185f4348f4ddadbe64cbc7f3ee/api/pixel</TrackingUrl>
<Tag>branding</Tag>
<Tag>business-growth-strategies</Tag>
<Tag>expenses</Tag>
<Tag>office-space</Tag>
<Tag>startup-budget</Tag>
<Tag>startups</Tag>
<Group token="entrepreneurship">Alex. Brown Center for Entrepreneurship</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/entrepreneurship</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/xsmall.png?1771000363</AvatarUrl>
<AvatarUrl size="original">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/original.jpg?1771000363</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/xxlarge.png?1771000363</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/xlarge.png?1771000363</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/large.png?1771000363</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/medium.png?1771000363</AvatarUrl>
<AvatarUrl size="small">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/small.png?1771000363</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/xsmall.png?1771000363</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/xxsmall.png?1771000363</AvatarUrl>
<Sponsor>The Alex. Brown Center for Entrepreneurship</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 16 Apr 2013 10:00:13 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="27763" important="false" status="posted" url="https://my3.my.umbc.edu/posts/27763">
<Title>Tipping Its Hat to a Younger Generation, Pukka Headwear Finds Success in the Golf Industry</Title>
<Body>
<![CDATA[
    <div class="html-content">After years of struggle, the golf cap company stands out in a crowded market with a customized approach to selling.<br><br><a href="http://da.feedsportal.com/r/163644649184/u/49/f/625555/c/34343/s/2ac8865b/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/163644649184/u/49/f/625555/c/34343/s/2ac8865b/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>After years of struggle, the golf cap company stands out in a crowded market with a customized approach to selling.</Summary>
<Website>http://feedproxy.google.com/~r/entrepreneur/startingabusiness/~3/XRgupv4UquU/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/27763/guest@my.umbc.edu/47987519485a2717bae32317ab59394d/api/pixel</TrackingUrl>
<Group token="entrepreneurship">Alex. Brown Center for Entrepreneurship</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/entrepreneurship</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/xsmall.png?1771000363</AvatarUrl>
<AvatarUrl size="original">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/original.jpg?1771000363</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/xxlarge.png?1771000363</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/xlarge.png?1771000363</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/large.png?1771000363</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/medium.png?1771000363</AvatarUrl>
<AvatarUrl size="small">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/small.png?1771000363</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/xsmall.png?1771000363</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/xxsmall.png?1771000363</AvatarUrl>
<Sponsor>The Alex. Brown Center for Entrepreneurship</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 16 Apr 2013 10:00:00 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="27756" important="false" status="posted" url="https://my3.my.umbc.edu/posts/27756">
<Title>List of Pseudo-Elements to Style Form Controls</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>Like the little handle on range inputs. You can style that, but it's different in all the major browsers. It's either <code>::-ms-thumb</code>, <code>::moz-range-thumb</code>, or <code>::-webkit-slider-thumb</code>. Obviously an area that would benefit from standardization. </p>
    <p><a href="http://tjvantoll.com/2013/04/15/list-of-pseudo-elements-to-style-form-controls/" title="Direct link to featured article" rel="nofollow external" class="bo">Direct Link to Article</a> — <a href="http://css-tricks.com/list-of-pseudo-elements-to-style-form-controls/" rel="nofollow external" class="bo">Permalink</a></p>
    <p><small><a href="http://css-tricks.com/list-of-pseudo-elements-to-style-form-controls/" rel="nofollow external" class="bo">List of Pseudo-Elements to Style Form Controls</a> is a post from <a href="http://css-tricks.com" rel="nofollow external" class="bo">CSS-Tricks</a></small></p>
    </div>
]]>
</Body>
<Summary>Like the little handle on range inputs. You can style that, but it's different in all the major browsers. It's either ::-ms-thumb, ::moz-range-thumb, or ::-webkit-slider-thumb. Obviously an area...</Summary>
<Website>http://tjvantoll.com/2013/04/15/list-of-pseudo-elements-to-style-form-controls/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/27756/guest@my.umbc.edu/dbf70f7a77c7ad8d0ad6e32786e2c49d/api/pixel</TrackingUrl>
<Tag>css</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>link</Tag>
<Tag>mysql</Tag>
<Tag>php</Tag>
<Tag>sql</Tag>
<Tag>tricks</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 16 Apr 2013 09:54:42 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="27754" important="false" status="posted" url="https://my3.my.umbc.edu/posts/27754">
<Title>UMBC Cybersecurity MPS program now in Shady Grove</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p></p>
    <div class="embed-container"><iframe src="http://www.youtube.com/embed/mMoKDcILA6U" frameborder="0" webkitallowfullscreen="webkitAllowFullScreen" mozallowfullscreen="mozallowfullscreen" allowfullscreen="allowFullScreen">[Video]</iframe></div>
    <p>We are now offering the <a href="http://www.umbc.edu/shadygrove/cyber/" rel="nofollow external" class="bo">UMBC Cybersecurity MPS program at Shady Grove</a> in Montgomery County, MD.</p>
    <p>The Cybersecurity Master’s in Professional Studies degree provides students the essential knowledge required to serve in leadership and operational roles throughout the industry. Through the program, students will learn how to analyze cybersecurity risks and assess available countermeasures. The program will expose students to practical managerial and operational considerations needed to conduct cybersecurity activities for large organizations.</p>
    </div>
]]>
</Body>
<Summary>[Video]    We are now offering the UMBC Cybersecurity MPS program at Shady Grove in Montgomery County, MD.   The Cybersecurity Master’s in Professional Studies degree provides students the...</Summary>
<Website>http://www.csee.umbc.edu/2013/04/umbc-cybersecurity-mps-program-now-in-shady-grove/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/27754/guest@my.umbc.edu/539e5ddd4b9a9f4e1b5b54c84c038f15/api/pixel</TrackingUrl>
<Tag>cybersecurity</Tag>
<Tag>graduate</Tag>
<Tag>news</Tag>
<Group token="csee">Computer Science and Electrical Engineering</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/csee</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/xsmall.png?1314043393</AvatarUrl>
<AvatarUrl size="original">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/original.png?1314043393</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/xxlarge.png?1314043393</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/xlarge.png?1314043393</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/large.png?1314043393</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/medium.png?1314043393</AvatarUrl>
<AvatarUrl size="small">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/small.png?1314043393</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/xsmall.png?1314043393</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/xxsmall.png?1314043393</AvatarUrl>
<Sponsor>Computer Science and Electrical Engineering</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 16 Apr 2013 09:21:28 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="27751" important="false" status="posted" url="https://my3.my.umbc.edu/posts/27751">
<Title>Speaking Up for UMBC</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <h5>by Delana Gregg</h5>
    <div><br></div>
    <div>
    <span>After 90 days in session, the Maryland General Assembly adjourned "sine die" (without plans to reconvene on another day) last week. </span><span>Testimony provided at General Assembly budget hearings by UMBC students Kaylesh Ramu (SGA President), Meghan Carpenter (SGA Director of Community and Governmental Affairs) and Michael Collins (SGA Assistant Director of Community and Governmental Affairs), as well as UMBC President Freeman A. Hrabowski, III, undoubtedly helped UMBC's prospects... <a href="http://umbcbreakingground.wordpress.com/2013/04/16/speaking-up-for-umbc/" rel="nofollow external" class="bo">(continue reading)</a></span>
    </div>
    </div>
]]>
</Body>
<Summary>by Delana Gregg     After 90 days in session, the Maryland General Assembly adjourned "sine die" (without plans to reconvene on another day) last week. Testimony provided at General Assembly...</Summary>
<Website>http://umbcbreakingground.wordpress.com/2013/04/16/speaking-up-for-umbc/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/27751/guest@my.umbc.edu/796926dd53ea5a1d3461203005b19b5c/api/pixel</TrackingUrl>
<Group token="bg">UMBC BreakingGround</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/bg</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/493/e0dc61eceffa1a7dff9d396b4b7c5011/xsmall.png?1360169927</AvatarUrl>
<AvatarUrl size="original">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/493/e0dc61eceffa1a7dff9d396b4b7c5011/original.png?1360169927</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/493/e0dc61eceffa1a7dff9d396b4b7c5011/xxlarge.png?1360169927</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/493/e0dc61eceffa1a7dff9d396b4b7c5011/xlarge.png?1360169927</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/493/e0dc61eceffa1a7dff9d396b4b7c5011/large.png?1360169927</AvatarUrl>
<AvatarUrl size="medium">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/493/e0dc61eceffa1a7dff9d396b4b7c5011/medium.png?1360169927</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/493/e0dc61eceffa1a7dff9d396b4b7c5011/small.png?1360169927</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/493/e0dc61eceffa1a7dff9d396b4b7c5011/xsmall.png?1360169927</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/493/e0dc61eceffa1a7dff9d396b4b7c5011/xxsmall.png?1360169927</AvatarUrl>
<Sponsor>UMBC BreakingGround</Sponsor>
<ThumbnailUrl size="xxlarge">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/027/751/0390d17683e77e7e9d8c923134b1f5a1/xxlarge.jpg?1366118041</ThumbnailUrl>
<ThumbnailUrl size="xlarge">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/027/751/0390d17683e77e7e9d8c923134b1f5a1/xlarge.jpg?1366118041</ThumbnailUrl>
<ThumbnailUrl size="large">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/027/751/0390d17683e77e7e9d8c923134b1f5a1/large.jpg?1366118041</ThumbnailUrl>
<ThumbnailUrl size="medium">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/027/751/0390d17683e77e7e9d8c923134b1f5a1/medium.jpg?1366118041</ThumbnailUrl>
<ThumbnailUrl size="small">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/027/751/0390d17683e77e7e9d8c923134b1f5a1/small.jpg?1366118041</ThumbnailUrl>
<ThumbnailUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/027/751/0390d17683e77e7e9d8c923134b1f5a1/xsmall.jpg?1366118041</ThumbnailUrl>
<ThumbnailUrl size="xxsmall">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/027/751/0390d17683e77e7e9d8c923134b1f5a1/xxsmall.jpg?1366118041</ThumbnailUrl>
<PawCount>5</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 16 Apr 2013 09:15:07 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="27750" important="false" status="posted" url="https://my3.my.umbc.edu/posts/27750">
<Title>Let the countdown to finals begin!  30 days and counting...</Title>
<Tagline>Smart Students at UMBC Use Study Groups - join one today!!!</Tagline>
<Body>
<![CDATA[
    <div class="html-content">Hello All!  <div><br></div>
    <div>
    <strong>30</strong> days until the start of final exams!</div>
    <div><br></div>
    <div>Fact:  Study groups are a great strategy to prepare for exams.</div>
    <div><br></div>
    <div>The good news:  It's never too late to join one...</div>
    <div><br></div>
    <div><br></div>
    <div>I can help you get started!!  Contact me for assistance or more information.</div>
    <div><br></div>
    <div>Dr. Felix</div>
    <div>iCubed Study Group Coordinator</div>
    <div><a href="mailto:tfelix1@umbc.edu">tfelix1@umbc.edu</a></div>
    <div>410.455.3173</div>
    </div>
]]>
</Body>
<Summary>Hello All!      30 days until the start of final exams!     Fact:  Study groups are a great strategy to prepare for exams.     The good news:  It's never too late to join one...        I can help...</Summary>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/27750/guest@my.umbc.edu/9de07dfe4eaa34fa8587d0f47fe8b31b/api/pixel</TrackingUrl>
<Group token="retired-304">iCubed: Study Groups</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-304</GroupUrl>
<AvatarUrl>https://assets4-my.umbc.edu/images/avatars/group/5/xsmall.png?1787842820</AvatarUrl>
<AvatarUrl size="original">https://assets2-my.umbc.edu/images/avatars/group/5/original.png?1787842820</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets2-my.umbc.edu/images/avatars/group/5/xxlarge.png?1787842820</AvatarUrl>
<AvatarUrl size="xlarge">https://assets2-my.umbc.edu/images/avatars/group/5/xlarge.png?1787842820</AvatarUrl>
<AvatarUrl size="large">https://assets1-my.umbc.edu/images/avatars/group/5/large.png?1787842820</AvatarUrl>
<AvatarUrl size="medium">https://assets2-my.umbc.edu/images/avatars/group/5/medium.png?1787842820</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/images/avatars/group/5/small.png?1787842820</AvatarUrl>
<AvatarUrl size="xsmall">https://assets4-my.umbc.edu/images/avatars/group/5/xsmall.png?1787842820</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets3-my.umbc.edu/images/avatars/group/5/xxsmall.png?1787842820</AvatarUrl>
<Sponsor>iCubed Study Groups</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 16 Apr 2013 08:36:34 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="27748" important="false" status="posted" url="https://my3.my.umbc.edu/posts/27748">
<Title>Office hours - Erickson Hall</Title>
<Tagline>Smart Students at UMBC Use Study Groups!</Tagline>
<Body>
<![CDATA[
    <div class="html-content">
    <div>Attention Team Study Groups!</div>
    <div><br></div>I will be holding office hours<strong> Wednesday, 4/17</strong> in the <strong>Erickson H</strong><strong>all lobby from 11am-1pm</strong>. Stop by to register your current study groups, receive help finding study groups, or give me updates.  Just look for the basket of Smarties!  <div>
    <div><br></div>
    <div>Hope to see you there!</div>
    <div><br></div>
    <div>Dr. Felix</div>
    </div>
    </div>
]]>
</Body>
<Summary>Attention Team Study Groups!    I will be holding office hours Wednesday, 4/17 in the Erickson Hall lobby from 11am-1pm. Stop by to register your current study groups, receive help finding study...</Summary>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/27748/guest@my.umbc.edu/7bbfdfaa267684da240dca0bcbef7aaf/api/pixel</TrackingUrl>
<Group token="retired-304">iCubed: Study Groups</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-304</GroupUrl>
<AvatarUrl>https://assets4-my.umbc.edu/images/avatars/group/5/xsmall.png?1787842820</AvatarUrl>
<AvatarUrl size="original">https://assets2-my.umbc.edu/images/avatars/group/5/original.png?1787842820</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets2-my.umbc.edu/images/avatars/group/5/xxlarge.png?1787842820</AvatarUrl>
<AvatarUrl size="xlarge">https://assets2-my.umbc.edu/images/avatars/group/5/xlarge.png?1787842820</AvatarUrl>
<AvatarUrl size="large">https://assets1-my.umbc.edu/images/avatars/group/5/large.png?1787842820</AvatarUrl>
<AvatarUrl size="medium">https://assets2-my.umbc.edu/images/avatars/group/5/medium.png?1787842820</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/images/avatars/group/5/small.png?1787842820</AvatarUrl>
<AvatarUrl size="xsmall">https://assets4-my.umbc.edu/images/avatars/group/5/xsmall.png?1787842820</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets3-my.umbc.edu/images/avatars/group/5/xxsmall.png?1787842820</AvatarUrl>
<Sponsor>iCubed: Study Groups</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 16 Apr 2013 08:33:18 -0400</PostedAt>
<EditAt>Tue, 16 Apr 2013 08:33:33 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="27758" important="false" status="posted" url="https://my3.my.umbc.edu/posts/27758">
<Title>What Angel Investors Want Now</Title>
<Body>
<![CDATA[
    <div class="html-content">The second annual Halo Report released today shows where angels are excited to invest, both by sector and geographically, and how much they are commonly investing.<br><br><a href="http://da.feedsportal.com/r/163644645217/u/49/f/625555/c/34343/s/2ac6f2a3/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/163644645217/u/49/f/625555/c/34343/s/2ac6f2a3/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>The second annual Halo Report released today shows where angels are excited to invest, both by sector and geographically, and how much they are commonly investing.</Summary>
<Website>http://feedproxy.google.com/~r/entrepreneur/startingabusiness/~3/qrNuVaN_6wM/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/27758/guest@my.umbc.edu/e585928e7ee40f2a033df38506ff77ad/api/pixel</TrackingUrl>
<Group token="entrepreneurship">Alex. Brown Center for Entrepreneurship</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/entrepreneurship</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/xsmall.png?1771000363</AvatarUrl>
<AvatarUrl size="original">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/original.jpg?1771000363</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/xxlarge.png?1771000363</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/xlarge.png?1771000363</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/large.png?1771000363</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/medium.png?1771000363</AvatarUrl>
<AvatarUrl size="small">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/small.png?1771000363</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/xsmall.png?1771000363</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/092/53c03b106bdc6e19e4bf0a41b5a37add/xxsmall.png?1771000363</AvatarUrl>
<Sponsor>The Alex. Brown Center for Entrepreneurship</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 16 Apr 2013 08:01:00 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="27747" important="false" status="posted" url="https://my3.my.umbc.edu/posts/27747">
<Title>Animations, Actions And Particle Systems: Creating Realistic iPhone Games With Cocos2D</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <table width="650">
    <tbody>
    <tr>
    <td>
    <div>
    <img src="http://statisches.auslieferung.commindo-media-ressourcen.de/advertisement.gif" alt="" style="max-width: 100%; height: auto;"><br><a href="http://auslieferung.commindo-media-ressourcen.de/random.php?mode=target&amp;collection=smashing-rss&amp;position=1" rel="nofollow external" class="bo"><img src="http://auslieferung.commindo-media-ressourcen.de/random.php?mode=image&amp;collection=smashing-rss&amp;position=1" alt="" style="max-width: 100%; height: auto;"></a> <a href="http://auslieferung.commindo-media-ressourcen.de/random.php?mode=target&amp;collection=smashing-rss&amp;position=2" rel="nofollow external" class="bo"><img src="http://auslieferung.commindo-media-ressourcen.de/random.php?mode=image&amp;collection=smashing-rss&amp;position=2" alt="" style="max-width: 100%; height: auto;"></a> <a href="http://auslieferung.commindo-media-ressourcen.de/random.php?mode=target&amp;collection=smashing-rss&amp;position=3" rel="nofollow external" class="bo"><img src="http://auslieferung.commindo-media-ressourcen.de/random.php?mode=image&amp;collection=smashing-rss&amp;position=3" alt="" style="max-width: 100%; height: auto;"></a>
    </div>
    </td>
    </tr>
    </tbody>
    </table>
    <p>Animation adds excitement to a game and makes the characters more realistic. In this article, we’ll look at the <a href="http://www.cocos2d-iphone.org/" rel="nofollow external" class="bo">Cocos2D</a> library and how it supports programmatic animations in iPhone games.</p>
    <p>This article is part of a series that teaches you <strong>how to create iPhone games</strong> based on the open-source game <a href="http://zgrossbart.github.com/bridges/" rel="nofollow external" class="bo">Seven Bridges</a>. Make sure to check out the first article in the series, “<a href="http://mobile.smashingmagazine.com/2013/02/13/designing-open-source-iphone-game" rel="nofollow external" class="bo">Designing an Open-Source iPhone Game</a>” and look at the source code in the <a href="https://github.com/zgrossbart/bridges" rel="nofollow external" class="bo">Seven Bridges GitHub repository</a>.</p>
    <p>This article walks you through the basics of animation. We’ll look at actions in Cocos2D and see how to combine them to create complex and custom effects.</p>
    <h3>Simple Actions</h3>
    <p>All of the basic building blocks in a Cocos2D game, such as images and layers, derive from <code><a href="http://www.cocos2d-iphone.org/api-ref/2.1.0/interface_c_c_node.html" rel="nofollow external" class="bo">CCNode</a></code>. Nodes interact with actions, which extend <code><a href="http://www.cocos2d-iphone.org/api-ref/2.1.0/interface_c_c_action.html" rel="nofollow external" class="bo">CCAction</a></code> to create movement on the screen.</p>
    <p><strong>The basic Cocos2D actions can:</strong></p>
    <ul>
    <li>
    <a href="http://www.cocos2d-iphone.org/api-ref/2.1.0/interface_c_c_hide.html" rel="nofollow external" class="bo">hide</a> and <a href="http://www.cocos2d-iphone.org/api-ref/2.1.0/interface_c_c_show.html" rel="nofollow external" class="bo">show</a>,</li>
    <li>
    <a href="http://www.cocos2d-iphone.org/api-ref/2.1.0/interface_c_c_flip_y.html" rel="nofollow external" class="bo">flip</a> and <a href="http://www.cocos2d-iphone.org/api-ref/2.1.0/interface_c_c_rotate_by.html" rel="nofollow external" class="bo">rotate</a>,</li>
    <li>
    <a href="http://www.cocos2d-iphone.org/api-ref/2.1.0/interface_c_c_fade_to.html" rel="nofollow external" class="bo">fade</a> and <a href="http://www.cocos2d-iphone.org/api-ref/2.1.0/interface_c_c_tint_to.html" rel="nofollow external" class="bo">tint</a>,</li>
    <li>and a lot more.</li>
    </ul>
    <p>We’ll start by looking at the simple action <code><a href="http://www.cocos2d-iphone.org/api-ref/2.1.0/interface_c_c_blink.html" rel="nofollow external" class="bo">CCBlink</a></code>. Seven Bridges doesn’t use the blink action, but it’s one of the easiest actions to understand.</p>
    <p>Before we can start to use any action, <strong>we’ll need a node</strong>. We’ll start with <code><a href="https://github.com/zgrossbart/bridges/blob/master/bridges2/PlayerNode.mm" rel="nofollow external" class="bo">PlayerNode</a></code> from Seven Bridges.</p>
    <p>The player node is a simple one. It shows the player sprite, <img src="http://media.smashingmagazine.com/wp-content/uploads/2013/02/player.png" alt="The player icon" width="20" height="20" style="max-width: 100%; height: auto;">, and it handles the movement and animation of the player around the screen. <code>PlayerNode</code> isn’t actually a <code>CCNode</code>, but it contains a <code><a href="http://www.cocos2d-iphone.org/api-ref/2.1.0/interface_c_c_sprite.html" rel="nofollow external" class="bo">CCSprite</a></code>, which represents a single image and extends <code>CCNode</code>. Separating the player object from the actual player image makes the player object a little more flexible.</p>
    <p>Our player node needs a color and a <code><a href="https://github.com/zgrossbart/bridges/blob/master/bridges2/LayerMgr.mm" rel="nofollow external" class="bo">LayerManager</a></code>. <code>LayerManager</code> is a helper object in Seven Bridges that lets game nodes interact with the world around them. You don’t need to code your objects with a <code>LayerManager</code>, but it gives you a simple place to add some standard code.</p>
    <p><strong>Let’s create a new player</strong> and place the player on the screen.</p>
    <pre><code>&#x000A;    PlayerNode* player = [[PlayerNode alloc] initWithColor:cBlack layerMgr:_layerMgr];&#x000A;    player.player.position = ccp(100, 100);&#x000A;    </code></pre>
    <p><code>PlayerNode</code> contains the sprite pointer and uses the <code>LayerManager</code> to add the sprite to the scene. It makes the sprite available as a property named <code>player</code>, which has a property named <code>position</code>. The full code for creating <code>LayerManager</code> is in <code><a href="https://github.com/zgrossbart/bridges/blob/master/bridges2/LevelLayer.mm" rel="nofollow external" class="bo">LevelLayer</a></code>.</p>
    <p>The blink action can run directly on the player sprite, because sprites are also <code>CCNode</code> objects that implement the <code><a href="http://www.cocos2d-iphone.org/api-ref/2.1.0/interface_c_c_node.html#a5d6d868cc1a0ba72820a055b05661aa5" rel="nofollow external" class="bo">runAction</a></code> method. It works like this:</p>
    <pre><code>&#x000A;    CCBlink* blink = [CCBlink actionWithDuration:10 blinks:5];&#x000A;    [player.player runAction:blink];&#x000A;    </code></pre>
    <p>Most actions define a static <code>actionWithDuration</code> method, which creates a new action object. <code>CCBlink</code> takes a duration and the number of times it should blink. We can apply whatever actions we’d like to the node just by passing them to the <code>runAction</code> method.</p>
    <h3>Running Multiple Actions</h3>
    <p>The latest version of Seven Bridges introduces teleporters, <img src="http://media.smashingmagazine.com/wp-content/uploads/2013/02/teleport.png" alt="Teleporter icon" width="20" height="26" style="max-width: 100%; height: auto;">. <strong>When players run into teleporters, they should look like they’re jumping in.</strong> To create that effect, we’ll combine three actions: <a href="http://www.cocos2d-iphone.org/api-ref/2.1.0/interface_c_c_rotate_by.html" rel="nofollow external" class="bo">rotate</a>, <a href="http://www.cocos2d-iphone.org/api-ref/2.1.0/interface_c_c_fade_to.html" rel="nofollow external" class="bo">fade</a> and <a href="http://www.cocos2d-iphone.org/api-ref/2.1.0/interface_c_c_scale_to.html" rel="nofollow external" class="bo">scale</a>. Each of these actions takes a little time to run, but we can make them all run simultaneously. Put them together and we’ll see players spinning and disappearing as they shrink (again, see <a href="https://github.com/zgrossbart/bridges/blob/master/bridges2/LevelLayer.mm" rel="nofollow external" class="bo">LevelLayer.mm</a>).</p>
    <pre><code>&#x000A;    [player.player runAction:[CCRotateBy actionWithDuration:0.5 angle:360]];&#x000A;    [player.player runAction:[CCFadeTo actionWithDuration:0.5 opacity:0.0]];&#x000A;    [player.player runAction:[CCScaleTo actionWithDuration:0.5 scale:0.25]];&#x000A;    </code></pre>
    <p><code>CCRotateBy</code> rotates the player from the current position by a specified number of degrees. In this case, we want a full circle, so we rotate by 360 degrees.</p>
    <p><code>CCFadeTo</code> changes the player’s opacity to the specified value. We want players to disappear completely, so we fade to <code>0.0</code>.</p>
    <p><code>CCScaleTo</code> grows or shrinks the player according to the specified scaling factor. <strong>We want players to shrink as they enter the teleporter</strong>, so we scale them down to one quarter of the default size.</p>
    <p>These actions take a duration, just like <code>CCBlink</code>. By specifying the duration as the same for each action, we cause all three of them to run at the same time. Playing them all together looks like this:</p>
    <p></p>
    <div class="embed-container"><iframe src="http://player.vimeo.com/video/60320015" frameborder="0" webkitallowfullscreen="webkitAllowFullScreen" mozallowfullscreen="mozallowfullscreen" allowfullscreen="allowFullScreen">[Video]</iframe></div>
    <br><em><a href="http://vimeo.com/60320015" rel="nofollow external" class="bo">Seven Bridges – Teleport jump</a> from <a href="http://vimeo.com/user1004495" rel="nofollow external" class="bo">Zack Grossbart</a> on <a href="http://vimeo.com" rel="nofollow external" class="bo">Vimeo</a>.</em>
    <h3>Combining Actions In Sequences</h3>
    <p>Rotating and fading is cool, but let’s take it up a notch by actually changing the dimensions of the sprite, instead of just the size. The “Houses and Colors” map introduces houses, <img src="http://media.smashingmagazine.com/wp-content/uploads/2013/02/house.png" alt="House icon" width="20" height="20" style="max-width: 100%; height: auto;">, that you have to visit. When you visit a house, we turn it gray with a little flourish.</p>
    <p>Houses are rendered by an object similar to <code>PlayerNode</code>, named <code><a href="https://github.com/zgrossbart/bridges/blob/master/bridges2/HouseNode.mm" rel="nofollow external" class="bo">HouseNode</a></code>. Each is a helper object that contains a sprite and that handles the interactions. <code>PlayerNode</code> exposes the player sprite in a property named <code>player</code>, and <code>HouseNode</code> exposes the house sprite in a property named <code>house</code>.</p>
    <p>The house-visiting animation flips the house horizontally while turning it gray. <strong>To flip the house back and forth</strong>, we run two actions sequentially. The first action flips the house to the right and leaves it backwards. The second action flips it back to the left.</p>
    <p>The spinning, shrinking, fading player used three animations that ran at the same time. The house needs more control. To space them out, we’ll use a new object named <code><a href="http://www.cocos2d-iphone.org/api-ref/2.1.0/interface_c_c_sequence.html" rel="nofollow external" class="bo">CCSequence</a></code>. Sequences string together actions that run one after another.</p>
    <p>We’ll start by creating our two actions (<a href="https://github.com/zgrossbart/bridges/blob/master/bridges2/HouseNode.mm" rel="nofollow external" class="bo">HouseNode.mm)</a>:</p>
    <pre><code>&#x000A;    float scale = 1.0;&#x000A;    CCEaseExponentialIn* flipHalf = [CCEaseExponentialIn &#x000A;        actionWithAction:[CCActionTween actionWithDuration:0.25 key:@"scaleX" from:-scale to:0.0]];&#x000A;        &#x000A;    CCEaseExponentialOut* flipRemainingHalf = [CCEaseExponentialOut &#x000A;        actionWithAction:[CCActionTween actionWithDuration:0.25 key:@"scaleX" from:0.0 to:scale]];&#x000A;    </code></pre>
    <p>Cocos2D provides a series of special actions that make <a href="http://en.wikipedia.org/wiki/Inbetweening" rel="nofollow external" class="bo">easing and tweening</a> possible. They all derive from <code><a href="http://www.cocos2d-iphone.org/api-ref/2.1.0/interface_c_c_action_ease.html" rel="nofollow external" class="bo">CCEase</a></code>. These actions provide simple access to some of the basic movement animations that make objects bounce and slide into each other with a more natural movement. These same techniques are used on the Web for <a href="http://coding.smashingmagazine.com/2011/10/04/quick-look-math-animations-javascript/" rel="nofollow external" class="bo">JavaScript animations</a>.</p>
    <p><code>CCEaseExponentialIn</code> and <code>CCEaseExponentialOut</code> provide natural movement in and out of various positions using an exponential curve. This animation combines that with <code><a href="http://www.cocos2d-iphone.org/api-ref/2.1.0/interface_c_c_action_tween.html" rel="nofollow external" class="bo">CCTween</a></code>, which can apply changes to any property of a node. We change the <code>scaleX</code> property to start the rotation.</p>
    <p><strong>Confused yet?</strong></p>
    <p>There’s a lot of math here, but the basic concepts are pretty simple. The first animation causes the house to get smaller horizontally along the x axis. This squishes the house together until it disappears. The second animation pulls the house apart from zero to the full width. When you put them together, the house looks like it’s rotating.</p>
    <p>Let’s create our house and run the animations together with a sequence like this (<a href="https://github.com/zgrossbart/bridges/blob/master/bridges2/HouseNode.mm" rel="nofollow external" class="bo">HouseNode.mm</a>):</p>
    <pre><code>&#x000A;    HouseNode *houseNode = [[HouseNode alloc] initWithColorAndCoins:cBlack layerMgr:layerMgr coins:0];&#x000A;    &#x000A;    CCSequence* seq = [CCSequence actions:flipHalf, flipRemainingHalf, nil];&#x000A;    [house runAction:seq];&#x000A;    </code></pre>
    <p><code>CCSequence</code> takes a series of actions and runs them one after another. The last argument is an Objective-C construct called a selector; it defines a method to call when the actions are complete. It is optional, and we don’t need any notification, so we just pass it <code>nil</code>.</p>
    <h3>Combining Actions With Custom Code</h3>
    <p>This sequence will flip the house, but we also want to turn it gray: <img src="http://media.smashingmagazine.com/wp-content/uploads/2013/02/house_gray.png" alt="Gray house icon" width="20" height="20" style="max-width: 100%; height: auto;">. Cocos2D provides special actions for tinting, but <strong>we want a high-quality image for the gray house</strong>, so we’ll use a PNG file. None of the default actions replace a sprite’s image, so we need a little custom code. Cocos2D provides the ultimate flexibility with the <code><a href="http://www.cocos2d-iphone.org/api-ref/2.1.0/interface_c_c_call_func.html" rel="nofollow external" class="bo">CCCallFunc</a></code> action, which sits inside a sequence and calls any code you want.</p>
    <p>The house turns gray when the visit ends, so we’ll create a new function named <code>visitEnded</code> and define it on <code>HouseNode</code>, like so (<a href="https://github.com/zgrossbart/bridges/blob/master/bridges2/HouseNode.mm" rel="nofollow external" class="bo">HouseNode.mm</a>):</p>
    <pre><code>&#x000A;    -(void)visitEnded {&#x000A;        CCSpriteFrameCache* cache = [CCSpriteFrameCache sharedSpriteFrameCache];&#x000A;        CCSpriteFrame* frame;&#x000A;        frame = [cache spriteFrameByName:@"house_gray.png"];&#x000A;        [self.house setDisplayFrame:frame];&#x000A;    }&#x000A;    </code></pre>
    <p>We already have a gray house icon, so the <code>visitEnded</code> function gets that icon from the sprite cache and sets it into our <code>house</code> sprite. Now we just need to tweak our sequence to call <code>visitEnded</code> in the middle of the animation. This code is getting a little complicated, so we’ll add it to a new method on <code>HouseNode</code> and call it <code>visit</code>.</p>
    <pre><code>&#x000A;    -(void) visit {&#x000A;        float scale = 1.0;&#x000A;        CCEaseExponentialIn* flipHalf = [CCEaseExponentialIn &#x000A;            actionWithAction:[CCActionTween actionWithDuration:0.25 key:@"scaleX" from:-scale to:0.0]];&#x000A;            &#x000A;        CCEaseExponentialOut* flipRemainingHalf = [CCEaseExponentialOut &#x000A;            actionWithAction:[CCActionTween actionWithDuration:0.25 key:@"scaleX" from:0.0 to:scale]];&#x000A;            &#x000A;        CCSequence* seq = [CCSequence actions:flipHalf,&#x000A;                          [CCCallFunc actionWithTarget:self selector:@selector(visitEnded)],&#x000A;                          flipRemainingHalf, nil];&#x000A;                          &#x000A;        [self.house runAction:seq];&#x000A;    }&#x000A;    </code></pre>
    <p><strong>This new sequence will squish the house down</strong>, call the <code>visitEnded</code> method with <code>CCCallFunc</code> to turn the house gray, and stretch the house back out.</p>
    <p></p>
    <div class="embed-container"><iframe src="http://player.vimeo.com/video/60319771" frameborder="0" webkitallowfullscreen="webkitAllowFullScreen" mozallowfullscreen="mozallowfullscreen" allowfullscreen="allowFullScreen">[Video]</iframe></div>
    <br><em><a href="http://vimeo.com/60319771" rel="nofollow external" class="bo">Seven Bridges – House Visit</a> from <a href="http://vimeo.com/user1004495" rel="nofollow external" class="bo">Zack Grossbart</a> on <a href="http://vimeo.com" rel="nofollow external" class="bo">Vimeo</a>.</em>
    <p>Cocos2D provides a series of actions for calling custom code, such as <code><a href="http://www.cocos2d-iphone.org/api-ref/2.1.0/interface_c_c_call_func_n.html" rel="nofollow external" class="bo">CCCallFuncN</a></code> and <code><a href="http://www.cocos2d-iphone.org/api-ref/2.1.0/interface_c_c_call_block.html" rel="nofollow external" class="bo">CCCallBlock</a></code>. Each is a variation of calling custom code during sequences. Combining out-of-the-box animations with custom code creates an ideal environment for complex animations.</p>
    <h3>Combining Multiple Animations Into Particle Systems</h3>
    <p>We’ve looked at simple animations and looked at some more complex interactions. Now let’s get fancy with particles. Cocos2D provides a set of more complex animations, which all start with <code><a href="http://www.cocos2d-iphone.org/api-ref/2.1.0/interface_c_c_particle_system.html" rel="nofollow external" class="bo">CCParticleSystem</a></code>.</p>
    <p>Particle systems aren’t actions. They use actions to create flexible canned animations. They’re awesome, complex and poorly documented. <strong>Particle systems work well for mimicking natural phenomena</strong> such as rain and smoke.</p>
    <p>When you beat a level of Seven Bridges, we give you a little reward: star-shaped confetti that spins and floats across the screen. We add whimsy to those stars with some randomness, and pull everything together with a particle system named <code><a href="http://www.cocos2d-iphone.org/api-ref/2.1.0/interface_c_c_particle_rain.html" rel="nofollow external" class="bo">CCParticleRain</a></code>.</p>
    <p></p>
    <div class="embed-container"><iframe src="http://player.vimeo.com/video/60320148" frameborder="0" webkitallowfullscreen="webkitAllowFullScreen" mozallowfullscreen="mozallowfullscreen" allowfullscreen="allowFullScreen">[Video]</iframe></div>
    <br><em><a href="http://vimeo.com/60320148" rel="nofollow external" class="bo">Seven Bridges – Stars</a> from <a href="http://vimeo.com/user1004495" rel="nofollow external" class="bo">Zack Grossbart</a> on <a href="http://vimeo.com" rel="nofollow external" class="bo">Vimeo</a>.</em>
    <p>So… um… there’s no way to ease into this one — here’s a really big chunk of code (<a href="https://github.com/zgrossbart/bridges/blob/master/bridges2/LevelLayer.mm" rel="nofollow external" class="bo">LevelLayer.mm</a>):</p>
    <pre><code>&#x000A;    -(void) showConfetti: (float) x y:(float) y {&#x000A;        self.emitter = [[CCParticleRain alloc] init];&#x000A;        [self.emitter setScaleX:0.5];&#x000A;        [self.emitter setScaleY:0.5];&#x000A;        &#x000A;        [self.emitter resetSystem];&#x000A;        self.emitter.texture = [[CCTextureCache sharedTextureCache] addImage:@"confetti.png"];&#x000A;        &#x000A;        self.emitter.duration = 1.5;&#x000A;        &#x000A;        // Set the gravity effect for the stars to control how&#x000A;        // fast they fall down.&#x000A;        self.emitter.gravity = ccp(self.player.player.position.x, 90);&#x000A;        &#x000A;        // Specify the angle of the stars as they extend from the&#x000A;        // starting point.&#x000A;        self.emitter.angle = 90;&#x000A;        self.emitter.angleVar = 360;&#x000A;        &#x000A;        // The speed the particles will use when floating&#x000A;        self.emitter.speed = 160;&#x000A;        self.emitter.speedVar = 20;&#x000A;        &#x000A;        // The radial variable&#x000A;        self.emitter.radialAccel = -120;&#x000A;        self.emitter.radialAccelVar = 120;&#x000A;        &#x000A;        // The tangential variable&#x000A;        self.emitter.tangentialAccel = 30;&#x000A;        self.emitter.tangentialAccelVar = 60;&#x000A;        &#x000A;        // How long each star should last before fading out&#x000A;        self.emitter.life = 1;&#x000A;        self.emitter.lifeVar = 4;&#x000A;        &#x000A;        // How much each star should spin&#x000A;        self.emitter.startSpin = 15;&#x000A;        self.emitter.startSpinVar = 5;&#x000A;        self.emitter.endSpin = 360;&#x000A;        self.emitter.endSpinVar = 180;&#x000A;        &#x000A;        // The color of the stars as RGB values.  Each color uses&#x000A;        // a variable value for where the stars should start and&#x000A;        // what color they should use when they're done.&#x000A;        ccColor4F startColor = {171.0f, 26.0f, 37.0f, 1.0f};&#x000A;        self.emitter.startColor = startColor;&#x000A;        ccColor4F startColorVar = {245.0f, 255.f, 72.0f, 1.0f};&#x000A;        self.emitter.startColorVar = startColorVar;&#x000A;        ccColor4F endColor = {255.0f, 223.0f, 85.0f, 1.0f};&#x000A;        self.emitter.endColor = endColor;&#x000A;        ccColor4F endColorVar = {255.0f, 131.0f, 62.0f, 1.0f};&#x000A;        self.emitter.endColorVar = endColorVar;&#x000A;        &#x000A;        // The size of each of the stars&#x000A;        self.emitter.startSize = 50.0f;&#x000A;        self.emitter.startSizeVar = 20.0f;&#x000A;        self.emitter.endSize = kParticleStartSizeEqualToEndSize;&#x000A;        &#x000A;        // The rate at which new stars will be created&#x000A;        self.emitter.totalParticles = 250;&#x000A;        self.emitter.emissionRate = self.emitter.totalParticles/self.emitter.life;&#x000A;        &#x000A;        // The position to start the stars&#x000A;        self.emitter.posVar = ccp(x + 20, y - 20);&#x000A;        self.emitter.position = ccp(x,y);&#x000A;        &#x000A;        // We have a simple white background, so we don't want to&#x000A;        // do additive blending.&#x000A;        self.emitter.blendAdditive = NO;&#x000A;        &#x000A;        // Now we're ready to run the particle emitter&#x000A;        [self addChild: self.emitter z:10];&#x000A;        self.emitter.autoRemoveOnFinish = YES;&#x000A;        &#x000A;        // We call the doWon function when the particle system completes&#x000A;        // so that we can take the player to the You Won screen.&#x000A;        [self scheduleOnce:@selector(doWon) delay:3];&#x000A;    }&#x000A;    </code></pre>
    <p>This code comes from <code><a href="https://github.com/zgrossbart/bridges/blob/master/bridges2/LevelLayer.mm" rel="nofollow external" class="bo">LevelLayer</a></code>, which controls the player’s interactions with the play screen. When the player wins the level, we call the <code>showConfetti</code> method and pass in the player’s current location.</p>
    <p>The particle system starts with a single image, <img src="http://media.smashingmagazine.com/wp-content/uploads/2013/02/confetti.png" alt="Star confetti icon" width="25" height="25" style="max-width: 100%; height: auto;">, creates hundreds of instances of that image, and moves those instances across the screen while changing their size, color, rotation and speed.</p>
    <p>Most of this code just sets up <code>CCParticleRain</code> and tells it how to behave. <strong>Particle systems are very flexible</strong> and support a dizzying array of configuration properties. These properties aren’t well documented; I found most of them by looking in Cocos2D’s source code.</p>
    <p>Particle systems achieve a natural look by having random variability added to them. You control the range of the randomness with <code>var</code> properties. For example, we want the stars to start out between 20 and 50 times their regular size, so we specify a <code>startSize</code> property of <code>50.0f</code> and a <code>startSizeVar</code> property of <code>20.0f</code>. This means that each of the stars will start somewhere between these two values.</p>
    <h3>Create Your Own Animations</h3>
    <p>Now that you’ve seen some of the basic concepts in Cocos2D animations, you can create your own. An easy place to start is by changing Seven Bridges. Just <a href="https://github.com/zgrossbart/bridges" rel="nofollow external" class="bo">download the source code</a> and start tweaking it.</p>
    <p>Add a blinking animation to make the player character blink while moving. Take a look at <code><a href="https://github.com/zgrossbart/bridges/blob/master/bridges2/PlayerNode.mm" rel="nofollow external" class="bo">PlayerNode</a></code> to see the sequence for moving the player across the screen. Play with the particle emitter to change the way the stars work.</p>
    <p>In this article, we’ve reviewed programmatic animations in games, but <strong>Cocos2D also supports sprite-based animations</strong>. These animations play a series of images to create the illusion of movement, somewhat like a <a href="http://en.wikipedia.org/wiki/Flip_book" rel="nofollow external" class="bo">flip book</a>. Seven Bridges uses that style of animation when moving the player around the screen.</p>
    <p><img src="http://media.smashingmagazine.com/wp-content/uploads/2013/02/player_movement.png" alt="Player movement animation" width="200" height="68" style="max-width: 100%; height: auto;"></p>
    <p>Ray Wenderlich has an awesome tutorial on sprite-based animation, titled “<a href="http://www.raywenderlich.com/1271/how-to-use-animations-and-sprite-sheets-in-cocos2d" rel="nofollow external" class="bo">How to Use Animations and Sprite Sheets in Cocos2D</a>.” The article is excellent, but it mentions a product called Zwoptex, and I strongly recommend <a href="http://www.codeandweb.com/texturepacker" rel="nofollow external" class="bo">TexturePacker</a> instead.</p>
    <p><em>(al)</em></p>
    <hr>
    <p><small>© Zack Grossbart for <a href="http://www.smashingmagazine.com" rel="nofollow external" class="bo">Smashing Magazine</a>, 2013.</small></p>
    </div>
]]>
</Body>
<Summary>        Animation adds excitement to a game and makes the characters more realistic. In this article, we’ll look at the Cocos2D library and how it supports programmatic animations in iPhone games....</Summary>
<Website>http://www.smashingmagazine.com/2013/04/16/creating-realistic-iphone-games-with-cocos2d/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/27747/guest@my.umbc.edu/87e69323d101feb4e8949999ea43ad74/api/pixel</TrackingUrl>
<Tag>css</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>mobile</Tag>
<Tag>mysql</Tag>
<Tag>php</Tag>
<Tag>sql</Tag>
<Tag>web</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 16 Apr 2013 07:19:06 -0400</PostedAt>
</NewsItem>

</News>
