金子邦彦研究室プログラミングPythonCocos2d を用いてスプライト表示

Cocos2d を用いてスプライト表示

前準備

Python のインストール,pip と setuptools の更新,Python 開発環境のインストール

手順は,別ページ »で説明している.

インストールを行わず,Google Colaboratory を利用することもありえる. Google Colaboratory の使い方などは, 別ページ »で説明している.

cocos2d を用いてスプライトを表示

  1. spyder で次の Python プログラムを実行

    エディタの画面にコピー&ペースト.

    import cocos
    from cocos.text import Label
    from cocos import scene
    from cocos.layer import Layer
    from cocos.director import director
    from cocos.sprite import Sprite
    
    class Actors(Layer):
        def __init__(self):
            super(Actors, self).__init__()
            self.actor = Sprite('lena_std.png')
            self.actor.position = 320, 240
            self.add(self.actor)
    
    director.init()
    director.run(
        scene.Scene(
            Actors()
        )
    )
    

    [image]
  2. Python コンソールで,カレントディレクトリを確認

    次を実行

    import os
    print(os.getcwd())
    

    [image]

    関係する部分を拡大すると.

    [image]
  3. Windows で,いま確認したディレクトリを開く.

    このとき「//」を「\」に読み替えること

    [image]
  4. 表示させたい画像を探す.画像ファイルは png 形式(拡張子が「.png」の画像ファイル)が良い.

    ファイル名では,全角の文字(漢字など)は使わないこと

  5. 表示させたい画像の画像ファイルを、さきほど確認したディレクトリにコピーする.

    [image]
  6. Python プログラムの中のファイル名を,この画像ファイルのファイル名に設定する

    [image]
  7. 実行ボタンをクリック.

    [image]
  8. 結果を確認したら,右上の「x」をクリックして終了.

■ 演習問題: pwd 演習 1. png形式の画像ファイルを準備し、pwd() で確認したディレクトリに置きなさい 2. 上のプログラムを実行しなさい.画像ファイル名のところは正しく設定すること

cocos2d でのスプライトの操作(フェードイン,スプライトの移動)

  1. spyder で次の Python プログラムを実行

    エディタの画面にコピー&ペーストして,実行ボタンをクリック.

    import cocos
    from cocos.layer import Layer, ColorLayer
    from cocos import layer
    from cocos.sprite import Sprite
    from cocos.actions import *
    from cocos.director import director
    from time import sleep
    
    class Actions(ColorLayer):
        def __init__(self):
            super(Actions, self).__init__(52, 152, 219, 1000)
            self.sprite = Sprite('lena_std.png')
            self.sprite.position = 320, 240
            self.fade_in()
            self.move_left()
    
        def fade_in(self):
            fade_action = FadeIn(2)
            self.sprite.opacity = 0
            self.add(self.sprite, z=1)
            self.sprite.do(fade_action)
    
        def move_left(self):
            left = MoveBy((-150, 0), 2)
            self.sprite.do(left)
    
    director.init()
    director.run(
        cocos.scene.Scene(
            Actions()
        )
    )
    
  2. 結果を確認したら,右上の「x」をクリックして終了.