<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>red D</title>
    <description></description>
    <link>http://redduke.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>arcLib学习笔记——动画和绘图</title>
        <author>redduke</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://redduke.javaeye.com">redduke</a>&nbsp;
          链接：<a href="http://redduke.javaeye.com/blog/200707" style="color:red;">http://redduke.javaeye.com/blog/200707</a>&nbsp;
          发表时间: 2008年06月05日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>从上一篇继续</p>
<p>&nbsp;</p>
<p>首先还是需要创建Sprite和Frame&nbsp; animationImage是图像路径（char[]）</p>
<p>&nbsp;</p>
<pre name="code" class="java">animationFrame = new Frame(Texture(animationImage), Rect(70,496,70,124));</pre>
<p>
<br />
Rect的四个参数（起始点X坐标，起始点Y坐标，宽度，高度）单位：像素<br /></p>
<pre name="code" class="java">private LinearAnimation animation;
animation = new LinearAnimation(animationFrame, 4, 200, LinearAnimation.Direction.ForwardLoop);</pre>
<p>
<br />
LinearAnimation四个参数（图像，动画帧数，播放速度，播放方式）</p>
<p>&nbsp;</p>
<p>把创建的动画链接到精灵&nbsp; 播放它</p>
<p>&nbsp;</p>
<pre name="code" class="java">sprite.addChild(animation.start());</pre>
<p>&nbsp;</p>
<p>动画基本就是这样子</p>
<p><br />
另外如果只需要绘制静态图像&nbsp; 不进行复杂运算&nbsp; 可以直接写</p>
<pre name="code" class="java">drawImage(Texture(image), Point(200,200), Size(400,400), Point(0,0), 0, Color.White);</pre>
&nbsp;
          <br/>
          <span style="color:red;">
            <a href="http://redduke.javaeye.com/blog/200707#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 05 Jun 2008 22:18:46 +0800</pubDate>
        <link>http://redduke.javaeye.com/blog/200707</link>
        <guid>http://redduke.javaeye.com/blog/200707</guid>
      </item>
      <item>
        <title>arcLib学习笔记——创建精灵</title>
        <author>redduke</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://redduke.javaeye.com">redduke</a>&nbsp;
          链接：<a href="http://redduke.javaeye.com/blog/190718" style="color:red;">http://redduke.javaeye.com/blog/190718</a>&nbsp;
          发表时间: 2008年05月07日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <pre name="code" class="java">看了dsource上的Tank游戏源代码  基本了解代码结构  话说这arclib文档的更新速度实在是......不敢恭维


import arc.all;
import arc.scenegraph.all;
import arc.physics.all;
import arc.physics.shapes.all;

private Sprite sprite;
private Frame frame;
private Box box;
private char[] image = &quot;image/arclib_logo.png&quot;;

int main(){
    //创建主窗口
    arc.window.open(&quot;Game&quot;, 600, 600, false);
    arc.input.open();
    //创建一个简单的精灵 严格说应该先创建world和worldTransform 我从简了
    frame = new Frame(Texture(image));
    box = new Box(frame.getFrame.getSize, 100);
    box.translation = Point(300,100);
    sprite = new Sprite(box,frame);
    //将精灵加入场景节点
    rootNode.addChild(sprite);
    //绘图
    arc.scenegraph.drawable.drawScenegraph();
    arc.window.swap();
    while (!arc.input.isQuit)
        {
            arc.window.clear();
            arc.input.process();
            arc.time.process();
        }
    arc.window.close();
    return 0;
}   
</pre>
&nbsp;
          <br/>
          <span style="color:red;">
            <a href="http://redduke.javaeye.com/blog/190718#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 07 May 2008 21:18:47 +0800</pubDate>
        <link>http://redduke.javaeye.com/blog/190718</link>
        <guid>http://redduke.javaeye.com/blog/190718</guid>
      </item>
      <item>
        <title>配置arclib Game Library</title>
        <author>redduke</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://redduke.javaeye.com">redduke</a>&nbsp;
          链接：<a href="http://redduke.javaeye.com/blog/189494" style="color:red;">http://redduke.javaeye.com/blog/189494</a>&nbsp;
          发表时间: 2008年05月04日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>从去年开始关注起D&nbsp; 因为本人并不是程序员&nbsp; 所以唯一感兴趣的就是拿它做游戏&nbsp; 然后就看到了arclib&nbsp; 于是想装上试试&nbsp; 不过官网上的文档实在有点滞后&nbsp; 在配置上费了一些周折&nbsp; 我把这个过程写出来&nbsp; 希望对那些想要使用D和arclib的爱好者能够起到一点帮助：）<br /></p>
<p>OS：windows XP SP2</p>
<p>
需求：</p>
<p>DMD 1.027 &amp; Tango Version 0.99.5</p>
<p>
不要用其它版本  因为很可能无法正常编译</p>
<p>
下载：<a href="http://www.dsource.org/projects/tango/wiki/0_99_5_DmdDownloads">http://www.dsource.org/projects/tango/wiki/0_99_5_DmdDownloads</a>
<br />
<br />
<br />
首先确认dmd/dmc/dsss已加入环境变量</p>
<p>然后用dsss安装arclib&nbsp; 运行CMD&nbsp; 输入：</p>
<p>
dsss net install arclib-core</p>
<p><span class="ext-link"><span class="icon">有基于Phobos和</span>
</span>
Tango的版本&nbsp; 但是用dsss下载的是Tango<a href="http://svn.dsource.org/projects/arclib/branches/arc02/phobos" class="ext-link"></a>
</p>
<p><br />
然后自动安装编译  没提示出错就说明安装成功了</p>
<p>还要到<a href="http://www.dsource.org/projects/arclib/browser/downloads/dll" target="_blank">http://www.dsource.org/projects/arclib/browser/downloads/dll</a>
下载所有的DLL文件</p>
<p>否则程序无法编译&nbsp; 我就是被这个困挠了一段时间</p>
<p>&nbsp;</p>
<p>现在arclib已经配置好了</p>
<p>随意建立一个D文件&nbsp; 输入以下代码：</p>
<p>module main;<br />
<br />
import arc.all;<br />
<br />
int main()<br />
{<br />
&nbsp;&nbsp; arc.window.open(&quot;Hello World&quot;, 400,300,0);<br />
&nbsp;&nbsp; arc.input.open();<br />
&nbsp;&nbsp; Font f = new Font(&quot;font.ttf&quot;, 12);<br />
&nbsp;&nbsp; char[] text = &quot;hello!&quot;;<br />
&nbsp;&nbsp; while (!arc.input.keyDown(ARC_QUIT))<br />
&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; arc.input.process();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; arc.window.clear();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f.draw(text, Point(10,10), Color.Green);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; drawPixel(Point(10,10), Color.Green);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; arc.window.swap();<br />
&nbsp;&nbsp; }<br />
&nbsp;&nbsp; arc.window.close();<br />
&nbsp;&nbsp; return 0;<br />
}</p>
<p>把刚下载的DLL全拷贝到源文件的目录下 还有不要忘了写dsss.conf文件（那个字体需要下载 也可以用其他字体代替）</p>
<p>然后dsss build&nbsp; 看到这个窗口画面就说明成功了</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://redduke.javaeye.com/blog/189494#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 04 May 2008 20:00:50 +0800</pubDate>
        <link>http://redduke.javaeye.com/blog/189494</link>
        <guid>http://redduke.javaeye.com/blog/189494</guid>
      </item>
  </channel>
</rss>